Skip to content

Commit ff0e2f0

Browse files
committed
Merge branch 'staging' into feature/schedule
2 parents 62c26a6 + af72539 commit ff0e2f0

File tree

9 files changed

+58
-20
lines changed

9 files changed

+58
-20
lines changed

.circleci/config.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,9 @@ jobs:
143143
if [ $CIRCLE_BRANCH = "env/unesco" ]; then
144144
ENV=sparkle-unesco
145145
fi
146+
if [ $CIRCLE_BRANCH = "env/ohbm" ]; then
147+
ENV=sparkle-ohbm
148+
fi
146149
147150
./node_modules/.bin/firebase use $ENV --token "$FIREBASE_TOKEN"
148151
./node_modules/.bin/firebase deploy --only functions --token "$FIREBASE_TOKEN"
@@ -265,6 +268,12 @@ jobs:
265268
TARGET=sparkle-unesco
266269
RELEASE_STAGE=env/unesco
267270
fi
271+
if [ $CIRCLE_BRANCH = "env/ohbm" ]; then
272+
PREFIX=OHBM_
273+
ENV=sparkle-ohbm
274+
TARGET=sparkle-ohbm
275+
RELEASE_STAGE=env/ohbm
276+
fi
268277
269278
./scripts/init-env.sh $PREFIX
270279
@@ -321,6 +330,7 @@ workflows:
321330
- env/kotr
322331
- env/memrise
323332
- env/unesco
333+
- env/ohbm
324334
- deploy-hosting:
325335
requires:
326336
- lint-and-test
@@ -345,6 +355,7 @@ workflows:
345355
- env/kotr
346356
- env/memrise
347357
- env/unesco
358+
- env/ohbm
348359
# - smoke-test:
349360
# requires:
350361
# - deploy-functions

.firebaserc

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@
1818
"deloitte": "sparkle-deloitte",
1919
"kotr": "sparkle-kotr",
2020
"memrise": "sparkle-memrise",
21-
"unesco": "sparkle-unesco"
21+
"unesco": "sparkle-unesco",
22+
"ohbm": "sparkle-ohbm"
2223
},
2324
"targets": {
2425
"co-reality-map": {
@@ -159,6 +160,13 @@
159160
"sparkle-unesco"
160161
]
161162
}
163+
},
164+
"sparkle-ohbm": {
165+
"hosting": {
166+
"sparkle-ohbm": [
167+
"sparkle-ohbm"
168+
]
169+
}
162170
}
163171
}
164172
}

firebase.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,17 @@
215215
}
216216
],
217217
"ignore": ["firebase.json", "**/.*", "**/node_modules/**"]
218+
},
219+
{
220+
"target": "sparkle-ohbm",
221+
"public": "build",
222+
"rewrites": [
223+
{
224+
"source": "**",
225+
"destination": "/index.html"
226+
}
227+
],
228+
"ignore": ["firebase.json", "**/.*", "**/node_modules/**"]
218229
}
219230
],
220231
"functions": {

src/components/templates/Audience/Audience.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ $spacing: calc(1 * min(var(--seat-size), var(--seat-size-min)));
4040
flex-direction: column;
4141
align-items: center;
4242

43-
pointer-events: all;
43+
pointer-events: auto;
4444

4545
.video {
4646
width: 100%;

src/components/templates/PartyMap/components/RoomModal/RoomModal.scss

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ $spacing: 20px;
66
.room-modal {
77
padding: $spacing;
88

9-
background-color: #19181a;
9+
background-color: $saturated-black;
1010
background-repeat: no-repeat;
1111
background-size: cover;
1212

@@ -27,13 +27,6 @@ $spacing: 20px;
2727
justify-content: space-around;
2828
align-items: center;
2929

30-
> img {
31-
width: 60%;
32-
height: auto;
33-
34-
border-radius: $border-radius;
35-
}
36-
3730
> * {
3831
flex: 1;
3932
height: fit-content;
@@ -45,6 +38,17 @@ $spacing: 20px;
4538
}
4639
}
4740

41+
&__icon {
42+
flex-shrink: 0;
43+
height: 180px;
44+
width: 180px;
45+
border-radius: $border-radius;
46+
background-color: $black;
47+
background-size: contain;
48+
background-repeat: no-repeat;
49+
background-position: center;
50+
}
51+
4852
.userlist-container {
4953
margin-top: $spacing;
5054
}

src/components/templates/PartyMap/components/RoomModal/RoomModal.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,10 @@ export const RoomModalContent: React.FC<RoomModalContentProps> = ({
9393

9494
const hasRoomEvents = renderedRoomEvents?.length > 0;
9595

96+
const iconStyles = {
97+
backgroundImage: room.image_url ? `url(${room.image_url})` : undefined,
98+
};
99+
96100
return (
97101
<>
98102
<h2>{room.title}</h2>
@@ -102,11 +106,7 @@ export const RoomModalContent: React.FC<RoomModalContentProps> = ({
102106
)}
103107

104108
<div className="room-modal__main">
105-
{room.image_url ? (
106-
<img src={room.image_url} alt={room.title} />
107-
) : (
108-
<span>{room.title}</span>
109-
)}
109+
<div className="room-modal__icon" style={iconStyles} />
110110

111111
<RoomModalOngoingEvent
112112
roomEvents={roomEvents}

src/index.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,7 @@ if (BUGSNAG_API_KEY) {
151151
"env/kotr",
152152
"env/memrise",
153153
"env/unesco",
154+
"env/ohbm",
154155
];
155156

156157
const releaseStage = () => {

src/pages/Admin/Details/ValidationSchema.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ export const validationSchema_v2 = Yup.object()
7474
name: Yup.string()
7575
.required("Name is required!")
7676
.min(3, ({ min }) => `Name must be at least ${min} characters`)
77+
.max(20, ({ max }) => `Name must be less than ${max} characters`)
7778
.when(
7879
"$editing",
7980
(editing: boolean, schema: Yup.StringSchema) =>
@@ -136,7 +137,8 @@ export const roomCreateSchema = Yup.object().shape<RoomSchemaShape>({
136137
is: false,
137138
then: Yup.string()
138139
.required("Venue name is required")
139-
.min(3, ({ min }) => `Name must be at least ${min} characters`),
140+
.min(3, ({ min }) => `Name must be at least ${min} characters`)
141+
.max(20, ({ max }) => `Name must be less than ${max} characters`),
140142
})
141143
.when("useUrl", (useUrl: boolean, schema: Yup.StringSchema) =>
142144
!useUrl

src/pages/Admin/Venue/DetailsValidationSchema.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,9 @@ export const validationSchema = Yup.object()
5757
.shape<VenueInput>({
5858
template: Yup.mixed<VenueTemplate>().required(),
5959
name: Yup.string()
60-
.required("Required")
61-
.min(1, "Required")
60+
.required("Venue name is required")
61+
.min(1, ({ min }) => `Name must be at least ${min} characters`)
62+
.max(20, ({ max }) => `Name must be less than ${max} characters`)
6263
.when(
6364
"$editing",
6465
(editing: boolean, schema: Yup.StringSchema) =>
@@ -111,8 +112,8 @@ export const validationSchema = Yup.object()
111112

112113
bannerImageUrl: urlIfNoFileValidation("bannerImageFile"),
113114
logoImageUrl: urlIfNoFileValidation("logoImageFile"),
114-
description: Yup.string().required("Required"),
115-
subtitle: Yup.string().required("Required"),
115+
description: Yup.string().required("Description required"),
116+
subtitle: Yup.string().required("Subtitle required"),
116117
zoomUrl: Yup.string().when(
117118
"$template.template",
118119
(template: VenueTemplate, schema: Yup.MixedSchema<FileList>) =>

0 commit comments

Comments
 (0)