Skip to content

Commit 4d98b0c

Browse files
committed
Merge branch 'develop' into 74-speakers-listing-view
2 parents e7a53c0 + f307380 commit 4d98b0c

File tree

4 files changed

+19
-4
lines changed

4 files changed

+19
-4
lines changed

cloud/functions/src/crawlers/crawler-parsers.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,10 @@ export const EVENT_THEME_PARSER = z.object({
6464
url: z.string(),
6565
descriptor: z.string().regex(/\d(?:w|x)/)
6666
})).min(1).optional().nullable().default(null),
67-
customGoogleFontFamilies: z.array(z.string()).optional().nullable().default(null),
67+
customImportedFonts: z.array(z.object({
68+
provider: z.literal('google-fonts'),
69+
family: z.string(),
70+
})).optional().nullable().default(null),
6871
})
6972

7073
export const SOCIAL_MEDIA_TYPE = z.union([

mobile/src/models/VoxxrinEvent.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,6 @@ export function toVoxxrinEventTheme(firestoreTheme: EventTheme): VoxxrinEventThe
119119
},
120120
headingCustomStyles: firestoreTheme.headingCustomStyles,
121121
headingSrcSet: firestoreTheme.headingSrcSet,
122-
customGoogleFontFamilies: firestoreTheme.customGoogleFontFamilies,
122+
customImportedFonts: firestoreTheme.customImportedFonts,
123123
}
124124
}

mobile/src/views/event/_BaseEventPages.vue

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<template>
22
<ion-page>
33
<event-tabs :tabs="tabs" :spaced-event-id="spacedEventIdRef"></event-tabs>
4-
<link v-for="googleFontUrl in confDescriptorRef?.theming.customGoogleFontFamilies || []" :key="googleFontUrl" rel="stylesheet" :href="`https://fonts.googleapis.com/css2?family=${googleFontUrl}&display=swap`" />
4+
<link v-for="customFontUrl in customFontUrls" :key="customFontUrl" rel="stylesheet" :href="customFontUrl" />
55
</ion-page>
66
</template>
77

@@ -12,6 +12,7 @@ import {useSharedConferenceDescriptor} from "@/state/useConferenceDescriptor";
1212
import {computed, toValue} from "vue";
1313
import {areFeedbacksEnabled} from "@/models/VoxxrinConferenceDescriptor";
1414
import {getResolvedEventRootPathFromSpacedEventIdRef, useCurrentSpaceEventIdRef} from "@/services/Spaces";
15+
import {match} from "ts-pattern";
1516
1617
const spacedEventIdRef = useCurrentSpaceEventIdRef()
1718
const {conferenceDescriptor: confDescriptorRef} = useSharedConferenceDescriptor(spacedEventIdRef);
@@ -39,6 +40,14 @@ const tabs = computed(() => {
3940
selectedIcon: '/assets/icons/solid/info-circle.svg',
4041
}]:[])
4142
})
43+
44+
const customFontUrls = computed(() => {
45+
const confDescriptor = toValue(confDescriptorRef);
46+
return (confDescriptor?.theming?.customImportedFonts || []).map(customFontDescriptor => match(customFontDescriptor)
47+
.with({ provider: 'google-fonts' }, ({ family }) => `https://fonts.googleapis.com/css2?family=${family}&display=swap`)
48+
.exhaustive()
49+
)
50+
})
4251
</script>
4352

4453
<style lang="scss" scoped>

shared/event-list.firestore.d.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,10 @@ export type EventTheme = {
1515
banner: string|null,
1616
}|null,
1717
headingSrcSet: Array<{ url: string, descriptor: string }>|null,
18-
customGoogleFontFamilies: string[]|null
18+
customImportedFonts: Array<{
19+
provider: 'google-fonts',
20+
family: string,
21+
}>|null,
1922
}
2023

2124
export type Day = {

0 commit comments

Comments
 (0)