@openeventkit/event-site 2.0.42 → 2.0.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/src/cms/config/collections/defaultPagesCollection/expoHallPage/index.js +39 -0
- package/src/cms/config/collections/defaultPagesCollection/expoHallPage/typeDefs.js +15 -0
- package/src/cms/config/collections/defaultPagesCollection/index.js +3 -1
- package/src/cms/config/collections/defaultPagesCollection/lobbyPage/index.js +16 -0
- package/src/cms/config/collections/defaultPagesCollection/lobbyPage/typeDefs.js +5 -0
- package/src/cms/config/collections/defaultPagesCollection/typeDefs.js +3 -1
- package/src/components/SponsorComponent.js +31 -32
- package/src/content/expo-hall-page/index.json +1 -0
- package/src/pages/a/index.js +13 -9
- package/src/pages/a/sponsors.js +76 -0
- package/src/reducers/sponsor-reducer.js +3 -6
- package/src/templates/expo-hall-page.js +28 -27
- package/src/templates/lobby-page.js +6 -2
- package/src/utils/filePath.js +2 -0
- package/src/content/expo-hall.json +0 -10
- package/static/admin/config.yml.template +0 -365
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openeventkit/event-site",
|
|
3
3
|
"description": "Event Site",
|
|
4
|
-
"version": "2.0.
|
|
4
|
+
"version": "2.0.44",
|
|
5
5
|
"author": "Tipit LLC",
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@mui/base": "^5.0.0-alpha.114",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"@types/react": "^16.9.42",
|
|
22
22
|
"@vimeo/player": "^2.16.3",
|
|
23
23
|
"ably": "^1.2.34",
|
|
24
|
-
"attendee-to-attendee-widget": "3.0.
|
|
24
|
+
"attendee-to-attendee-widget": "3.0.5",
|
|
25
25
|
"awesome-bootstrap-checkbox": "^1.0.1",
|
|
26
26
|
"axios": "^0.19.2",
|
|
27
27
|
"babel-preset-gatsby": "^3.9.0",
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import {
|
|
2
|
+
stringField,
|
|
3
|
+
objectField,
|
|
4
|
+
imageWithAltField
|
|
5
|
+
} from "../../../fields";
|
|
6
|
+
|
|
7
|
+
import {
|
|
8
|
+
EXPO_HALL_PAGE_FILE_PATH
|
|
9
|
+
} from "@utils/filePath";
|
|
10
|
+
|
|
11
|
+
const expoHallPage = {
|
|
12
|
+
label: "Expo Hall Page",
|
|
13
|
+
name: "expo-hall-page",
|
|
14
|
+
file: EXPO_HALL_PAGE_FILE_PATH,
|
|
15
|
+
fields: [
|
|
16
|
+
objectField({
|
|
17
|
+
label: "Hero",
|
|
18
|
+
name: "hero",
|
|
19
|
+
fields: [
|
|
20
|
+
stringField({
|
|
21
|
+
label: "Title",
|
|
22
|
+
name: "title"
|
|
23
|
+
}),
|
|
24
|
+
stringField({
|
|
25
|
+
label: "Subtitle",
|
|
26
|
+
name: "subTitle",
|
|
27
|
+
required: false
|
|
28
|
+
}),
|
|
29
|
+
imageWithAltField({
|
|
30
|
+
label: "Background Image",
|
|
31
|
+
name: "background"
|
|
32
|
+
})
|
|
33
|
+
]
|
|
34
|
+
})
|
|
35
|
+
]
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export default expoHallPage;
|
|
39
|
+
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
|
|
2
|
+
module.exports = `
|
|
3
|
+
type ImageWithAlt {
|
|
4
|
+
src: File @fileByRelativePath
|
|
5
|
+
alt: String
|
|
6
|
+
}
|
|
7
|
+
type ExpoHallPageHero {
|
|
8
|
+
title: String
|
|
9
|
+
subTitle: String
|
|
10
|
+
background: ImageWithAlt
|
|
11
|
+
}
|
|
12
|
+
type ExpoHallPageJson implements Node {
|
|
13
|
+
hero: ExpoHallPageHero
|
|
14
|
+
}
|
|
15
|
+
`;
|
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
|
|
5
5
|
import marketingPage from "./marketingPage";
|
|
6
6
|
import lobbyPage from "./lobbyPage";
|
|
7
|
+
import expoHallPage from "./expoHallPage";
|
|
7
8
|
|
|
8
9
|
const defaultPagesCollection = {
|
|
9
10
|
...collectionDefaults({
|
|
@@ -12,7 +13,8 @@ const defaultPagesCollection = {
|
|
|
12
13
|
}),
|
|
13
14
|
files: [
|
|
14
15
|
marketingPage,
|
|
15
|
-
lobbyPage
|
|
16
|
+
lobbyPage,
|
|
17
|
+
expoHallPage
|
|
16
18
|
]
|
|
17
19
|
};
|
|
18
20
|
|
|
@@ -60,6 +60,22 @@ const lobbyPage = {
|
|
|
60
60
|
label: "Live Event Widget - Featured Event",
|
|
61
61
|
name: "liveNowFeaturedEventId",
|
|
62
62
|
required: false
|
|
63
|
+
}),
|
|
64
|
+
objectField({
|
|
65
|
+
label: "Sponsors Widget Button",
|
|
66
|
+
name: "sponsorsWidgetButton",
|
|
67
|
+
fields: [
|
|
68
|
+
stringField({
|
|
69
|
+
label: "Text",
|
|
70
|
+
name: "text",
|
|
71
|
+
required: false
|
|
72
|
+
}),
|
|
73
|
+
stringField({
|
|
74
|
+
label: "Link",
|
|
75
|
+
name: "link",
|
|
76
|
+
required: false
|
|
77
|
+
}),
|
|
78
|
+
]
|
|
63
79
|
})
|
|
64
80
|
]
|
|
65
81
|
};
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
|
|
2
2
|
module.exports = `
|
|
3
|
+
type Button {
|
|
4
|
+
text: String
|
|
5
|
+
link: String
|
|
6
|
+
}
|
|
3
7
|
type ImageWithAlt {
|
|
4
8
|
src: File @fileByRelativePath
|
|
5
9
|
alt: String
|
|
@@ -20,5 +24,6 @@ module.exports = `
|
|
|
20
24
|
hero: LobbyPageHero
|
|
21
25
|
centerColumn: LobbyPageCenterColumn
|
|
22
26
|
liveNowFeaturedEventId: String
|
|
27
|
+
sponsorsWidgetButton: Button
|
|
23
28
|
}
|
|
24
29
|
`;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
const marketingPageTypeDefs = require("./marketingPage/typeDefs");
|
|
2
2
|
const lobbyPageTypeDefs = require("./lobbyPage/typeDefs");
|
|
3
|
+
const expoHallPageTypeDefs = require("./expoHallPage/typeDefs");
|
|
3
4
|
|
|
4
5
|
module.exports = [
|
|
5
6
|
marketingPageTypeDefs,
|
|
6
|
-
lobbyPageTypeDefs
|
|
7
|
+
lobbyPageTypeDefs,
|
|
8
|
+
expoHallPageTypeDefs
|
|
7
9
|
].join("");
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import React from
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
import { connect } from "react-redux";
|
|
3
3
|
import Slider from "react-slick";
|
|
4
|
-
import Link from
|
|
5
|
-
import { getSponsorURL } from
|
|
4
|
+
import Link from "../components/Link";
|
|
5
|
+
import { getSponsorURL } from "../utils/urlFormating";
|
|
6
6
|
|
|
7
|
-
import styles from
|
|
7
|
+
import styles from "../styles/sponsor.module.scss";
|
|
8
8
|
|
|
9
|
-
const SponsorComponent = ({ page, sponsorsState,
|
|
9
|
+
const SponsorComponent = ({ page, sponsorsState, linkButton }) => {
|
|
10
10
|
let renderButton = false;
|
|
11
11
|
|
|
12
12
|
let sponsorsByTier = sponsorsState.reduce((memo, x) => {
|
|
13
|
-
if (!memo[x[
|
|
14
|
-
memo[x[
|
|
13
|
+
if (!memo[x["sponsorship"].type.name]) { memo[x["sponsorship"].type.name] = []; }
|
|
14
|
+
memo[x["sponsorship"].type.name].push(x);
|
|
15
15
|
return memo;
|
|
16
16
|
}, {});
|
|
17
17
|
|
|
@@ -24,16 +24,16 @@ const SponsorComponent = ({ page, sponsorsState, lobbyButton }) => {
|
|
|
24
24
|
{Object.values(sponsorsByTier).sort((a, b) => a.order - b.order).map((tier, tierIndex) => {
|
|
25
25
|
const sponsors = tier.sponsors.sort((a, b) => a.order - b.order);
|
|
26
26
|
if (!tier) return null;
|
|
27
|
-
const template = page ===
|
|
27
|
+
const template = page === "lobby" ? tier.lobby_template : page === "event" ? tier.event_page_template : "expo-hall";
|
|
28
28
|
if (sponsors?.length > 0) {
|
|
29
29
|
renderButton = true;
|
|
30
30
|
switch (template) {
|
|
31
|
-
case
|
|
32
|
-
if (page ===
|
|
31
|
+
case "big-images": {
|
|
32
|
+
if (page === "lobby" && !tier.should_display_on_lobby_page) {
|
|
33
33
|
return null
|
|
34
34
|
} else {
|
|
35
35
|
return (
|
|
36
|
-
<div className={`${tierIndex === 0 ? styles.firstContainer :
|
|
36
|
+
<div className={`${tierIndex === 0 ? styles.firstContainer : ""} ${styles.bigImageContainer}`} key={tierIndex}>
|
|
37
37
|
{tier.widget_title &&
|
|
38
38
|
<span><b>{tier.widget_title}</b></span>
|
|
39
39
|
}
|
|
@@ -59,17 +59,17 @@ const SponsorComponent = ({ page, sponsorsState, lobbyButton }) => {
|
|
|
59
59
|
)
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
|
-
case
|
|
63
|
-
if (page ===
|
|
62
|
+
case "small-images": {
|
|
63
|
+
if (page === "lobby" && !tier.should_display_on_lobby_page) {
|
|
64
64
|
return null
|
|
65
65
|
} else {
|
|
66
66
|
return (
|
|
67
|
-
<div className={`${tierIndex === 0 ? styles.firstContainer :
|
|
67
|
+
<div className={`${tierIndex === 0 ? styles.firstContainer : ""} ${styles.smallImageContainer}`} key={tierIndex}>
|
|
68
68
|
{tier.widget_title &&
|
|
69
69
|
<span><b>{tier.widget_title}</b></span>
|
|
70
70
|
}
|
|
71
71
|
{sponsors.map((sponsor, index) => {
|
|
72
|
-
if (page ===
|
|
72
|
+
if (page === "event" && !sponsor.showLogoInEventPage) return null
|
|
73
73
|
return (
|
|
74
74
|
(!sponsor.company.big_logo && !sponsor.company.logo) ?
|
|
75
75
|
null
|
|
@@ -96,9 +96,9 @@ const SponsorComponent = ({ page, sponsorsState, lobbyButton }) => {
|
|
|
96
96
|
)
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
|
-
case
|
|
99
|
+
case "horizontal-images": {
|
|
100
100
|
return (
|
|
101
|
-
<div className={`${tierIndex === 0 ? styles.firstContainer :
|
|
101
|
+
<div className={`${tierIndex === 0 ? styles.firstContainer : ""} ${styles.horizontalContainer} px-6`} key={tierIndex}>
|
|
102
102
|
{sponsors.map((sponsor, index) => {
|
|
103
103
|
return (
|
|
104
104
|
(!sponsor.company.big_logo && !sponsor.company.logo) ?
|
|
@@ -125,7 +125,7 @@ const SponsorComponent = ({ page, sponsorsState, lobbyButton }) => {
|
|
|
125
125
|
</div>
|
|
126
126
|
)
|
|
127
127
|
}
|
|
128
|
-
case
|
|
128
|
+
case "expo-hall": {
|
|
129
129
|
return tier.should_display_on_expo_hall_page === true && (
|
|
130
130
|
<div className={`${styles.expoContainer} px-6`} key={tierIndex}>
|
|
131
131
|
{sponsors.map((sponsor, index) => {
|
|
@@ -136,7 +136,7 @@ const SponsorComponent = ({ page, sponsorsState, lobbyButton }) => {
|
|
|
136
136
|
sponsor.is_published ?
|
|
137
137
|
<div className={`
|
|
138
138
|
${styles.imageBox}
|
|
139
|
-
${tier.expo_hall_template ===
|
|
139
|
+
${tier.expo_hall_template === "big-images" ? styles.large : tier.expo_hall_template === "medium-images" ? styles.medium : styles.small}`}
|
|
140
140
|
key={`${tier.type.label}-${index}`}
|
|
141
141
|
>
|
|
142
142
|
<Link to={`/a/sponsor/${getSponsorURL(sponsor.id, sponsor.company.name)}`}>
|
|
@@ -146,7 +146,7 @@ const SponsorComponent = ({ page, sponsorsState, lobbyButton }) => {
|
|
|
146
146
|
: sponsor.external_link ?
|
|
147
147
|
<div className={`
|
|
148
148
|
${styles.imageBox}
|
|
149
|
-
${tier.expo_hall_template ===
|
|
149
|
+
${tier.expo_hall_template === "big-images" ? styles.large : tier.expo_hall_template === "medium-images" ? styles.medium : styles.small}`}
|
|
150
150
|
key={`${tier.type.label}-${index}`}
|
|
151
151
|
>
|
|
152
152
|
<Link to={sponsor.external_link}>
|
|
@@ -156,7 +156,7 @@ const SponsorComponent = ({ page, sponsorsState, lobbyButton }) => {
|
|
|
156
156
|
:
|
|
157
157
|
<div className={`
|
|
158
158
|
${styles.imageBox}
|
|
159
|
-
${tier.expo_hall_template ===
|
|
159
|
+
${tier.expo_hall_template === "big-images" ? styles.large : tier.expo_hall_template === "medium-images" ? styles.medium : styles.small}`}
|
|
160
160
|
key={`${tier.type.label}-${index}`}
|
|
161
161
|
>
|
|
162
162
|
<img src={sponsor.company.big_logo ? sponsor.company.big_logo : sponsor.company.logo} alt={sponsor.company.name} />
|
|
@@ -166,23 +166,23 @@ const SponsorComponent = ({ page, sponsorsState, lobbyButton }) => {
|
|
|
166
166
|
</div>
|
|
167
167
|
)
|
|
168
168
|
}
|
|
169
|
-
case
|
|
170
|
-
if (page ===
|
|
169
|
+
case "carousel": {
|
|
170
|
+
if (page === "lobby" && !tier.should_display_on_lobby_page) {
|
|
171
171
|
return null
|
|
172
172
|
} else {
|
|
173
173
|
const sliderSettings = {
|
|
174
174
|
autoplay: true,
|
|
175
175
|
autoplaySpeed: 5000,
|
|
176
176
|
infinite: true,
|
|
177
|
-
className:
|
|
177
|
+
className: "sponsor-carousel",
|
|
178
178
|
dots: false,
|
|
179
179
|
slidesToShow: 1,
|
|
180
180
|
slidesToScroll: 1
|
|
181
181
|
};
|
|
182
182
|
return (
|
|
183
|
-
<div className={`${tierIndex === 0 ? styles.firstContainer :
|
|
183
|
+
<div className={`${tierIndex === 0 ? styles.firstContainer : ""} ${styles.carouselContainer}`} key={tierIndex}>
|
|
184
184
|
{tier.widget_title &&
|
|
185
|
-
<span style={{ marginBottom:
|
|
185
|
+
<span style={{ marginBottom: "0" }}><b>{tier.widget_title}</b></span>
|
|
186
186
|
}
|
|
187
187
|
<Slider {...sliderSettings}>
|
|
188
188
|
{sponsors.map((sponsor, index) => {
|
|
@@ -219,10 +219,10 @@ const SponsorComponent = ({ page, sponsorsState, lobbyButton }) => {
|
|
|
219
219
|
return null;
|
|
220
220
|
}
|
|
221
221
|
})}
|
|
222
|
-
{
|
|
223
|
-
<Link className={styles.link} to={
|
|
222
|
+
{linkButton?.text && linkButton?.link && renderButton &&
|
|
223
|
+
<Link className={styles.link} to={linkButton.link}>
|
|
224
224
|
<button className={`${styles.button} button is-large`}>
|
|
225
|
-
{
|
|
225
|
+
{linkButton.text}
|
|
226
226
|
</button>
|
|
227
227
|
</Link>
|
|
228
228
|
}
|
|
@@ -231,8 +231,7 @@ const SponsorComponent = ({ page, sponsorsState, lobbyButton }) => {
|
|
|
231
231
|
};
|
|
232
232
|
|
|
233
233
|
const mapStateToProps = ({ sponsorState }) => ({
|
|
234
|
-
sponsorsState: sponsorState.sponsors
|
|
235
|
-
lobbyButton: sponsorState.lobbyButton
|
|
234
|
+
sponsorsState: sponsorState.sponsors
|
|
236
235
|
});
|
|
237
236
|
|
|
238
|
-
export default connect(mapStateToProps, {})(SponsorComponent);
|
|
237
|
+
export default connect(mapStateToProps, {})(SponsorComponent);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
package/src/pages/a/index.js
CHANGED
|
@@ -35,6 +35,10 @@ export const lobbyPageQuery = graphql`
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
liveNowFeaturedEventId
|
|
38
|
+
sponsorsWidgetButton {
|
|
39
|
+
text
|
|
40
|
+
link
|
|
41
|
+
}
|
|
38
42
|
}
|
|
39
43
|
}
|
|
40
44
|
`;
|
|
@@ -43,15 +47,15 @@ const App = ({ data, isLoggedUser, user, summitPhase }) => {
|
|
|
43
47
|
return (
|
|
44
48
|
<Location>
|
|
45
49
|
{({ location }) => (
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
50
|
+
<Router basepath="/a" >
|
|
51
|
+
<WithAuthRoute path="/" isLoggedIn={isLoggedUser} location={location}>
|
|
52
|
+
<WithAuthzRoute path="/" summitPhase={summitPhase} isLoggedIn={isLoggedUser} user={user} location={location}>
|
|
53
|
+
<ShowOpenRoute path="/" summitPhase={summitPhase} isLoggedIn={isLoggedUser} user={user} location={location}>
|
|
54
|
+
<LobbyPage path="/" data={data} isLoggedIn={isLoggedUser} user={user} location={location} />
|
|
55
|
+
</ShowOpenRoute>
|
|
56
|
+
</WithAuthzRoute>
|
|
57
|
+
</WithAuthRoute>
|
|
58
|
+
</Router>
|
|
55
59
|
)}
|
|
56
60
|
</Location>
|
|
57
61
|
);
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { graphql } from "gatsby";
|
|
3
|
+
import { Router, Location } from "@reach/router";
|
|
4
|
+
import { connect } from "react-redux";
|
|
5
|
+
import ExpoHallPage from "../../templates/expo-hall-page";
|
|
6
|
+
import WithAuthzRoute from "../../routes/WithAuthzRoute";
|
|
7
|
+
import WithAuthRoute from "../../routes/WithAuthRoute";
|
|
8
|
+
import ShowOpenRoute from "../../routes/ShowOpenRoute";
|
|
9
|
+
import withRealTimeUpdates from "../../utils/real_time_updates/withRealTimeUpdates";
|
|
10
|
+
import withFeedsWorker from "../../utils/withFeedsWorker";
|
|
11
|
+
import Seo from "../../components/Seo";
|
|
12
|
+
|
|
13
|
+
export const expoHallPageQuery = graphql`
|
|
14
|
+
query {
|
|
15
|
+
expoHallPageJson {
|
|
16
|
+
hero {
|
|
17
|
+
title
|
|
18
|
+
subTitle
|
|
19
|
+
background {
|
|
20
|
+
src {
|
|
21
|
+
childImageSharp {
|
|
22
|
+
gatsbyImageData (
|
|
23
|
+
quality: 100
|
|
24
|
+
placeholder: BLURRED
|
|
25
|
+
)
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
alt
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
`;
|
|
34
|
+
|
|
35
|
+
const App = ({
|
|
36
|
+
data,
|
|
37
|
+
isLoggedUser,
|
|
38
|
+
user,
|
|
39
|
+
summitPhase
|
|
40
|
+
}) => {
|
|
41
|
+
return (
|
|
42
|
+
<Location>
|
|
43
|
+
{({ location }) => (
|
|
44
|
+
<Router basepath="/a" >
|
|
45
|
+
<WithAuthRoute path="/" isLoggedIn={isLoggedUser} location={location}>
|
|
46
|
+
<WithAuthzRoute path="/" summitPhase={summitPhase} isLoggedIn={isLoggedUser} user={user} location={location}>
|
|
47
|
+
<ShowOpenRoute path="/" summitPhase={summitPhase} isLoggedIn={isLoggedUser} user={user} location={location}>
|
|
48
|
+
<ExpoHallPage path="/sponsors/" location={location} data={data}/>
|
|
49
|
+
</ShowOpenRoute>
|
|
50
|
+
</WithAuthzRoute>
|
|
51
|
+
</WithAuthRoute>
|
|
52
|
+
</Router>
|
|
53
|
+
)}
|
|
54
|
+
</Location>
|
|
55
|
+
);
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
const mapStateToProps = ({
|
|
59
|
+
loggedUserState,
|
|
60
|
+
userState, clockState
|
|
61
|
+
}) => ({
|
|
62
|
+
isLoggedUser: loggedUserState.isLoggedUser,
|
|
63
|
+
summitPhase: clockState.summit_phase,
|
|
64
|
+
user: userState
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
export default connect(mapStateToProps, {})(withFeedsWorker(withRealTimeUpdates(App)));
|
|
68
|
+
|
|
69
|
+
export const Head = ({
|
|
70
|
+
location
|
|
71
|
+
}) => (
|
|
72
|
+
<Seo
|
|
73
|
+
title={"Expo Hall"}
|
|
74
|
+
pathname={location.pathname}
|
|
75
|
+
/>
|
|
76
|
+
);
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import { START_LOADING, STOP_LOADING } from "openstack-uicore-foundation/lib/utils/actions";
|
|
2
2
|
import { LOGOUT_USER } from "openstack-uicore-foundation/lib/security/actions";
|
|
3
|
-
import {RESET_STATE, SYNC_DATA} from "../actions/base-actions-definitions";
|
|
3
|
+
import { RESET_STATE, SYNC_DATA } from "../actions/base-actions-definitions";
|
|
4
4
|
|
|
5
|
-
import sponsorData from "content/sponsors";
|
|
6
|
-
import expoHallData from '../content/expo-hall.json';
|
|
5
|
+
import sponsorData from "content/sponsors.json";
|
|
7
6
|
|
|
8
7
|
const DEFAULT_STATE = {
|
|
9
|
-
sponsors: sponsorData
|
|
10
|
-
imageHeader: expoHallData.imageHeader,
|
|
11
|
-
lobbyButton: expoHallData.lobbyButton
|
|
8
|
+
sponsors: sponsorData
|
|
12
9
|
};
|
|
13
10
|
|
|
14
11
|
const sponsorReducer = (state = DEFAULT_STATE, action) => {
|
|
@@ -1,40 +1,41 @@
|
|
|
1
|
-
import React from
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { getSrc } from "gatsby-plugin-image";
|
|
3
|
+
import Layout from "../components/Layout";
|
|
4
|
+
import SponsorComponent from "../components/SponsorComponent";
|
|
5
|
+
import AttendanceTrackerComponent from "../components/AttendanceTrackerComponent";
|
|
6
|
+
import AccessTracker from "../components/AttendeeToAttendeeWidgetComponent";
|
|
2
7
|
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
import Layout from '../components/Layout'
|
|
6
|
-
import SponsorComponent from '../components/SponsorComponent'
|
|
7
|
-
import AttendanceTrackerComponent from '../components/AttendanceTrackerComponent'
|
|
8
|
-
import AccessTracker from '../components/AttendeeToAttendeeWidgetComponent'
|
|
9
|
-
import styles from '../styles/expo-hero.module.scss'
|
|
10
|
-
|
|
11
|
-
const ExpoHallPage = ({ location, imageHeader }) => {
|
|
8
|
+
import styles from "../styles/expo-hero.module.scss";
|
|
12
9
|
|
|
10
|
+
const ExpoHallPage = ({
|
|
11
|
+
data,
|
|
12
|
+
location
|
|
13
|
+
}) => {
|
|
14
|
+
const { expoHallPageJson: { hero } } = data;
|
|
15
|
+
const style = hero?.background ? { backgroundImage: `url(${getSrc(hero.background.src)})` } : {};
|
|
13
16
|
return (
|
|
14
17
|
<Layout location={location}>
|
|
15
18
|
<AttendanceTrackerComponent />
|
|
16
19
|
<AccessTracker />
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
</
|
|
20
|
+
{ hero && (hero.background || hero.title || hero.subTitle) &&
|
|
21
|
+
<section className="hero is-large sponsors-header" style={style}>
|
|
22
|
+
<div className="hero-body">
|
|
23
|
+
<div className={styles.heroContainer}>
|
|
24
|
+
<h1 className={styles.title}>
|
|
25
|
+
{hero.title}
|
|
26
|
+
</h1>
|
|
27
|
+
<span className={styles.subtitle}>
|
|
28
|
+
{hero.subTitle}
|
|
29
|
+
</span>
|
|
27
30
|
</div>
|
|
28
|
-
</
|
|
31
|
+
</div>
|
|
32
|
+
</section>
|
|
33
|
+
}
|
|
29
34
|
<section className="section px-6 py-6">
|
|
30
35
|
<SponsorComponent />
|
|
31
36
|
</section>
|
|
32
37
|
</Layout>
|
|
33
38
|
)
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
const mapStateToProps = ({ sponsorState }) => ({
|
|
37
|
-
imageHeader: sponsorState.imageHeader
|
|
38
|
-
});
|
|
39
|
+
};
|
|
39
40
|
|
|
40
|
-
export default
|
|
41
|
+
export default ExpoHallPage;
|
|
@@ -46,7 +46,8 @@ export const LobbyPageTemplate = class extends React.Component {
|
|
|
46
46
|
lobbyPageJson: {
|
|
47
47
|
hero,
|
|
48
48
|
centerColumn,
|
|
49
|
-
liveNowFeaturedEventId
|
|
49
|
+
liveNowFeaturedEventId,
|
|
50
|
+
sponsorsWidgetButton
|
|
50
51
|
}
|
|
51
52
|
},
|
|
52
53
|
lastDataSync
|
|
@@ -65,7 +66,10 @@ export const LobbyPageTemplate = class extends React.Component {
|
|
|
65
66
|
<div className="columns">
|
|
66
67
|
<div className="column is-one-quarter">
|
|
67
68
|
<h2><b>Community</b></h2>
|
|
68
|
-
<SponsorComponent
|
|
69
|
+
<SponsorComponent
|
|
70
|
+
page="lobby"
|
|
71
|
+
linkButton={sponsorsWidgetButton}
|
|
72
|
+
/>
|
|
69
73
|
<AdvertiseComponent section="lobby" column="left"/>
|
|
70
74
|
</div>
|
|
71
75
|
<div className="column is-half">
|
package/src/utils/filePath.js
CHANGED
|
@@ -33,6 +33,7 @@ const VOTEABLE_PRESENTATIONS_FILE_PATH = `${DATA_DIR_PATH}/${VOTEABLE_PRESENTATI
|
|
|
33
33
|
const POSTERS_PAGES_FILE_PATH = `${STATIC_CONTENT_DIR_PATH}/posters-pages.json`;
|
|
34
34
|
const MARKETING_SETTINGS_FILE_PATH = `${DATA_DIR_PATH}/marketing-settings.json`;
|
|
35
35
|
const MAINTENANCE_FILE_PATH = `${STATIC_CONTENT_DIR_PATH}/maintenance.json`;
|
|
36
|
+
const EXPO_HALL_PAGE_FILE_PATH = `${STATIC_CONTENT_DIR_PATH}/expo-hall-page/index.json`;
|
|
36
37
|
const SPONSORS_FILE_NAME = "sponsors.json";
|
|
37
38
|
const SPONSORS_FILE_PATH = `${STATIC_CONTENT_DIR_PATH}/${SPONSORS_FILE_NAME}`;
|
|
38
39
|
|
|
@@ -75,4 +76,5 @@ exports.VOTEABLE_PRESENTATIONS_FILE_PATH = VOTEABLE_PRESENTATIONS_FILE_PATH;
|
|
|
75
76
|
exports.POSTERS_PAGES_FILE_PATH = POSTERS_PAGES_FILE_PATH;
|
|
76
77
|
exports.MARKETING_SETTINGS_FILE_PATH = MARKETING_SETTINGS_FILE_PATH;
|
|
77
78
|
exports.MAINTENANCE_FILE_PATH = MAINTENANCE_FILE_PATH;
|
|
79
|
+
exports.EXPO_HALL_PAGE_FILE_PATH = EXPO_HALL_PAGE_FILE_PATH;
|
|
78
80
|
exports.SPONSORS_FILE_PATH = SPONSORS_FILE_PATH;
|
|
@@ -1,365 +0,0 @@
|
|
|
1
|
-
backend:
|
|
2
|
-
name: github
|
|
3
|
-
branch: main
|
|
4
|
-
repo: fntechgit/fnEvent
|
|
5
|
-
commit_messages:
|
|
6
|
-
create: 'Create {{collection}} “{{slug}}”'
|
|
7
|
-
update: 'Update {{collection}} “{{slug}}”'
|
|
8
|
-
delete: 'Delete {{collection}} “{{slug}}”'
|
|
9
|
-
uploadMedia: '[skip ci] Upload “{{path}}”'
|
|
10
|
-
deleteMedia: '[skip ci] Delete “{{path}}”'
|
|
11
|
-
|
|
12
|
-
media_folder: static/img
|
|
13
|
-
public_folder: /img
|
|
14
|
-
|
|
15
|
-
collections:
|
|
16
|
-
- name: "configurations"
|
|
17
|
-
label: "Configurations"
|
|
18
|
-
editor:
|
|
19
|
-
preview: false
|
|
20
|
-
files:
|
|
21
|
-
- file: "src/content/site-settings/index.json"
|
|
22
|
-
label: "Site Settings"
|
|
23
|
-
name: "site-settings"
|
|
24
|
-
fields:
|
|
25
|
-
- {label: "Favicons", name: favicons, widget: object, fields: [
|
|
26
|
-
{label: "Favicon 180x180", name: favicon180, widget: image},
|
|
27
|
-
{label: "Favicon 32x32", name: favicon32, widget: image},
|
|
28
|
-
{label: "Favicon 16x16", name: favicon16, widget: image}
|
|
29
|
-
]}
|
|
30
|
-
- {label: "Widgets", name: widgets, widget: object, fields: [
|
|
31
|
-
{label: "Chat", name: chat, widget: object, fields: [
|
|
32
|
-
{label: "Show QA", name: showQA, widget: boolean, required: false, default: false},
|
|
33
|
-
{label: "Show Help", name: showHelp, widget: boolean, required: false, default: false},
|
|
34
|
-
{label: "Default Filter Criteria", name: defaultScope, widget: select, required: false, default: 'page', options: [
|
|
35
|
-
{label: "In this Room", value: "page" },
|
|
36
|
-
{label: "All Attendees", value: "show" }
|
|
37
|
-
]}
|
|
38
|
-
]},
|
|
39
|
-
{label: "Schedule", name: schedule, widget: object, fields: [
|
|
40
|
-
{label: "Allow Clickable Behavior", name: allowClick, widget: boolean, required: false, default: true},
|
|
41
|
-
]}
|
|
42
|
-
]}
|
|
43
|
-
- {label: "Site Metadata", name: siteMetadata, widget: object, fields: [
|
|
44
|
-
{label: "Title", name: title, widget: string, required: false },
|
|
45
|
-
{label: "Description", name: description, widget: string, required: false }
|
|
46
|
-
]}
|
|
47
|
-
- file: "src/content/ads.json"
|
|
48
|
-
label: "Advertisement"
|
|
49
|
-
name: "ads"
|
|
50
|
-
fields:
|
|
51
|
-
- {label: "Ads", name: "ads", widget: list, fields: [
|
|
52
|
-
{label: "Page", name: "section", widget: string},
|
|
53
|
-
{label: "Ads", name: "columnAds", widget: list, required: false, fields: [
|
|
54
|
-
{label: "Image", name: "image", widget: object, required: false, fields: [
|
|
55
|
-
{label: "Src", name: "src", widget: image, required: false, default: ''},
|
|
56
|
-
{label: "Alt", name: "alt", widget: string, required: false, default: ''},
|
|
57
|
-
]},
|
|
58
|
-
{label: "Button", name: "button", widget: object, required: false, fields: [
|
|
59
|
-
{label: "Text", name: "text", widget: string, required: false},
|
|
60
|
-
{label: "Link", name: "link", widget: string, required: false}
|
|
61
|
-
]},
|
|
62
|
-
{label: "Column", name: "column", widget: select, options: [
|
|
63
|
-
{label: "Left", value: "left" },
|
|
64
|
-
{label: "Center", value: "center" },
|
|
65
|
-
{label: "Right", value: "right" },
|
|
66
|
-
]},
|
|
67
|
-
{label: "Specific Event?", name: "eventId", widget: string, required: false, default: 0}
|
|
68
|
-
]},
|
|
69
|
-
]}
|
|
70
|
-
- file: "src/content/sponsors-tiers.json"
|
|
71
|
-
label: "Sponsors Tiers"
|
|
72
|
-
name: "sponsors-tiers"
|
|
73
|
-
fields:
|
|
74
|
-
- {label: "Tiers", name: "tiers", widget: list, fields: [
|
|
75
|
-
{label: "Tier", name: "name", widget: string},
|
|
76
|
-
{label: "Widget Title", name: "widgetTitle", widget: string, required: false},
|
|
77
|
-
{label: "ID", name: "id", widget: ncw-id, prefix: tier, hidden: true},
|
|
78
|
-
{label: "Badge", name: "badge", widget: object, required: false, fields: [
|
|
79
|
-
{label: "File", name: "file", widget: image, required: false, default: ''},
|
|
80
|
-
{label: "Alt", name: "alt", widget: string, required: false, default: ''},
|
|
81
|
-
]},
|
|
82
|
-
{label: "Lobby", name: "lobby", widget: object, fields: [
|
|
83
|
-
{label: "Lobby Template", name: "lobbyTemplate", widget: select, required: false, default: 'small-images', options: [
|
|
84
|
-
{label: "Big Images", value: "big-images" },
|
|
85
|
-
{label: "Small Images", value: "small-images" },
|
|
86
|
-
{label: "Horizontal Images", value: "horizontal-images" },
|
|
87
|
-
{label: "Carousel", value: "carousel" },
|
|
88
|
-
]},
|
|
89
|
-
{label: "Display", name: display, widget: boolean, required: false, default: false}
|
|
90
|
-
]},
|
|
91
|
-
{label: "Expo Hall Page", name: "expoHallPage", widget: object, fields: [
|
|
92
|
-
{label: "Expo Hall Template", name: "expoHallTemplate", widget: select, required: false, default: 'medium-images', options: [
|
|
93
|
-
{label: "Big Images", value: "big-images" },
|
|
94
|
-
{label: "Medium Images", value: "medium-images" },
|
|
95
|
-
{label: "Small Images", value: "small-images" },
|
|
96
|
-
]},
|
|
97
|
-
{label: "Display", name: display, widget: boolean, required: false, default: false}
|
|
98
|
-
]},
|
|
99
|
-
{label: "Sponsor Page", name: "sponsorPage", widget: object, fields: [
|
|
100
|
-
{label: "Sponsor Page Template", name: "sponsorTemplate", widget: select, required: false, default: 'small-header', options: [
|
|
101
|
-
{label: "Big Header", value: "big-header" },
|
|
102
|
-
{label: "Small Header", value: "small-header" },
|
|
103
|
-
]},
|
|
104
|
-
{label: "Widgets", name: "widgets", widget: object, fields: [
|
|
105
|
-
{label: "Disqus", name: disqus, widget: boolean, required: false, default: false},
|
|
106
|
-
{label: "Live Event", name: liveEvent, widget: boolean, required: false, default: false},
|
|
107
|
-
{label: "Schedule", name: schedule, widget: boolean, required: false, default: false},
|
|
108
|
-
{label: "Banner", name: banner, widget: boolean, required: false, default: false}
|
|
109
|
-
]}
|
|
110
|
-
]},
|
|
111
|
-
{label: "In Event Template", name: "eventTemplate", widget: select, required: false, default: 'small-images', options: [
|
|
112
|
-
{label: "Big Images", value: "big-images" },
|
|
113
|
-
{label: "Small Images", value: "small-images" },
|
|
114
|
-
{label: "Horizontal Images", value: "horizontal-images" },
|
|
115
|
-
]},
|
|
116
|
-
]}
|
|
117
|
-
- {label: "Expo Hall Header Image", name: "imageHeader", widget: object, required: false, fields: [
|
|
118
|
-
{label: "File", name: "file", widget: image, default: '', required: false},
|
|
119
|
-
{label: "Alt", name: "alt", widget: string, required: false}
|
|
120
|
-
]}
|
|
121
|
-
- {label: "Lobby Button", name: lobbyButton, widget: object, fields: [
|
|
122
|
-
{label: "Text", name: "text", widget: string, required: false, default: ''},
|
|
123
|
-
{label: "Link", name: "link", widget: string, required: false, default: ''}
|
|
124
|
-
]}
|
|
125
|
-
- file: "src/content/navbar.json"
|
|
126
|
-
label: "Navbar"
|
|
127
|
-
name: "navbar"
|
|
128
|
-
fields:
|
|
129
|
-
- {label: "Navbar", name: "items", widget: list, fields: [
|
|
130
|
-
{label: "Title", name: "title", widget: string},
|
|
131
|
-
{label: "Link", name: "link", widget: string},
|
|
132
|
-
{label: "Display?", name: "display", widget: boolean, required: false},
|
|
133
|
-
{label: "Requires Auth?", name: "requiresAuth", widget: boolean, required: false, default: false},
|
|
134
|
-
{label: "Show only at Show Time?", name: "showOnlyAtShowTime", widget: boolean, required: false, default: false},
|
|
135
|
-
{label: "Show only on page", name: "pageRestriction", widget: select, multiple: true, default: ["ANY"], options: ["ANY", "MARKETING", "LOBBY", "ACTIVITY", "SHOW", "CUSTOM_PAGE"]},
|
|
136
|
-
]}
|
|
137
|
-
- file: "src/content/footer/index.json"
|
|
138
|
-
label: "Footer"
|
|
139
|
-
name: "footer"
|
|
140
|
-
fields:
|
|
141
|
-
- {label: "Columns", name: "columns", widget: list, fields: [
|
|
142
|
-
{label: "Title", name: "title", widget: string},
|
|
143
|
-
{label: "Display", name: "display", widget: boolean, required: false},
|
|
144
|
-
{label: "Items", name: "items", widget: list, fields: [
|
|
145
|
-
{label: "Title", name: "title", widget: string},
|
|
146
|
-
{label: "Link", name: "link", widget: string},
|
|
147
|
-
]}
|
|
148
|
-
]}
|
|
149
|
-
- {label: "Logo", name: "logo", widget: object, fields: [
|
|
150
|
-
{label: "Display", name: "display", widget: boolean, required: false},
|
|
151
|
-
]}
|
|
152
|
-
- {label: "Social", name: "social", widget: object, fields: [
|
|
153
|
-
{label: "Title", name: "title", widget: string},
|
|
154
|
-
{label: "Display", name: "display", widget: boolean, required: false},
|
|
155
|
-
{label: "Networks", name: "networks", widget: list, fields: [
|
|
156
|
-
{label: "Icon", name: "icon", widget: string},
|
|
157
|
-
{label: "Link", name: "link", widget: string},
|
|
158
|
-
{label: "Display", name: "display", widget: boolean, required: false},
|
|
159
|
-
]}
|
|
160
|
-
]}
|
|
161
|
-
- {label: "Legal", name: "legal", widget: list, fields: [
|
|
162
|
-
{label: "Title", name: "title", widget: string},
|
|
163
|
-
{label: "Link", name: "link", widget: string},
|
|
164
|
-
]}
|
|
165
|
-
- file: "src/content/posters-pages.json"
|
|
166
|
-
label: "Posters Pages"
|
|
167
|
-
name: "posters-pages"
|
|
168
|
-
fields:
|
|
169
|
-
- {label: "Posters Pages", name: "postersPages", widget: list, fields: [
|
|
170
|
-
{label: "Name", name: "name", widget: string, required: false},
|
|
171
|
-
{label: "Track Group Id", name: "trackGroupId", widget: number},
|
|
172
|
-
{label: "Title", name: "title", widget: string },
|
|
173
|
-
{label: "Subtitle", name: "subtitle", widget: string },
|
|
174
|
-
{label: "Background Image", name: "image", widget: image, required: false},
|
|
175
|
-
]}
|
|
176
|
-
- file: "src/content/maintenance.json"
|
|
177
|
-
label: "Maintenance Mode"
|
|
178
|
-
name: "maintenance"
|
|
179
|
-
fields:
|
|
180
|
-
- {label: "Enabled", name: "enabled", widget: boolean, required: true, default: false}
|
|
181
|
-
- {label: "Title", name: title, widget: string, required: true, default: 'Site under maintenance' }
|
|
182
|
-
- {label: "Subtitle", name: subtitle, widget: string, default: 'Please reload page shortly'}
|
|
183
|
-
- name: "home"
|
|
184
|
-
label: "Lobby Site"
|
|
185
|
-
editor:
|
|
186
|
-
preview: false
|
|
187
|
-
files:
|
|
188
|
-
- file: "src/content/home-settings.json"
|
|
189
|
-
name: "home-settings"
|
|
190
|
-
label: "Lobby Settings"
|
|
191
|
-
fields:
|
|
192
|
-
- {label: "Center Column", name: "centerColumn", widget: object, fields: [
|
|
193
|
-
{label: "Speakers", name: "speakers", widget: object, fields: [
|
|
194
|
-
{label: "Show Today Speakers", name: "showTodaySpeakers", widget: boolean, required: false},
|
|
195
|
-
{label: "Show Feature Speakers", name: "showFeatureSpeakers", widget: boolean, required: false}
|
|
196
|
-
]}
|
|
197
|
-
]}
|
|
198
|
-
- {label: "Home Hero", name: homeHero, widget: object, fields: [
|
|
199
|
-
{label: "Title", name: title, widget: string},
|
|
200
|
-
{label: "Sub Title", name: subTitle, widget: string, required: false},
|
|
201
|
-
{label: "Image", name: "image", widget: object, required: false, fields: [
|
|
202
|
-
{label: "File", name: "file", widget: image, default: '', required: false},
|
|
203
|
-
{label: "Alt", name: "alt", widget: string, required: false},
|
|
204
|
-
]}
|
|
205
|
-
]}
|
|
206
|
-
- {label: "Featured Event - Live Event Widget", name: live_now_featured_event_id, widget: number, required: false, default: null}
|
|
207
|
-
- name: "marketing"
|
|
208
|
-
label: "Marketing Site"
|
|
209
|
-
editor:
|
|
210
|
-
preview: false
|
|
211
|
-
files:
|
|
212
|
-
- file: "src/content/marketing-page/index.json"
|
|
213
|
-
name: "marketing-site"
|
|
214
|
-
label: "Marketing Site"
|
|
215
|
-
fields:
|
|
216
|
-
- {label: "Hero Banner", name: "heroBanner", widget: "object", fields: [
|
|
217
|
-
{label: "Title", name: "title", widget: string},
|
|
218
|
-
{label: "Sub Title", name: "subTitle", widget: string, required: false},
|
|
219
|
-
{label: "Date", name: "date", widget: string, required: false},
|
|
220
|
-
{label: "Date Layout", name: "dateLayout", widget: boolean, required: false},
|
|
221
|
-
{label: "Time", name: "time", widget: string, required: false},
|
|
222
|
-
{label: "Buttons", name: "buttons", widget: object, fields: [
|
|
223
|
-
{label: "Register Button", name: "registerButton", widget: object, fields: [
|
|
224
|
-
{label: "Text", name: "text", widget: string},
|
|
225
|
-
{label: "Display", name: "display", widget: boolean, required: false},
|
|
226
|
-
]},
|
|
227
|
-
{label: "Login Button", name: "loginButton", widget: object, fields: [
|
|
228
|
-
{label: "Text", name: "text", widget: string},
|
|
229
|
-
{label: "Display", name: "display", widget: boolean, required: false},
|
|
230
|
-
]}
|
|
231
|
-
]},
|
|
232
|
-
{label: "Background Image", name: "background", widget: object, required: false, fields: [
|
|
233
|
-
{label: "Src", name: "src", widget: image, required: false},
|
|
234
|
-
{label: "Alt", name: "alt", widget: string, required: false},
|
|
235
|
-
]},
|
|
236
|
-
{label: "Images", name: "images", widget: list, fields: [
|
|
237
|
-
{label: "Image", name: "image", widget: image, required: false},
|
|
238
|
-
{label: "Alt", name: "alt", widget: string, required: false},
|
|
239
|
-
]},
|
|
240
|
-
]}
|
|
241
|
-
- {label: "Countdown", name: "countdown", widget: object, fields: [
|
|
242
|
-
{label: "Should Display?", name: display, widget: boolean, required: false},
|
|
243
|
-
{label: "Text", name: "text", widget: string}
|
|
244
|
-
]}
|
|
245
|
-
- {label: "Widgets", name: "leftColumn", widget: object, fields: [
|
|
246
|
-
{label: "Schedule", name: "schedule", widget: object, fields: [
|
|
247
|
-
{label: "Display", name: "display", widget: boolean, required: false},
|
|
248
|
-
{label: "Title", name: "title", widget: string, required: false},
|
|
249
|
-
]},
|
|
250
|
-
{label: "Disqus", name: "disqus", widget: object, fields: [
|
|
251
|
-
{label: "Display", name: "display", widget: boolean, required: false},
|
|
252
|
-
{label: "Title", name: "title", widget: string, required: false},
|
|
253
|
-
]},
|
|
254
|
-
{label: "Image", name: "image", widget: object, fields: [
|
|
255
|
-
{label: "Display", name: "display", widget: boolean, required: false},
|
|
256
|
-
{label: "Title", name: "title", widget: string, required: false},
|
|
257
|
-
{label: "Image", name: "image", widget: object, required: false, fields: [
|
|
258
|
-
{label: "Src", name: "src", widget: image, required: false},
|
|
259
|
-
{label: "Alt", name: "alt", widget: string, required: false},
|
|
260
|
-
]},
|
|
261
|
-
]},
|
|
262
|
-
]}
|
|
263
|
-
- {label: "Redirect to event", name: "eventRedirect", widget: number, required: false, hint: "User will be redirected to this event after login"}
|
|
264
|
-
- {label: "Sponsors", name: "sponsors", widget: list, fields: [
|
|
265
|
-
{label: "Name", name: title, widget: hidden},
|
|
266
|
-
{label: "Size", name: size, widget: select, options: [
|
|
267
|
-
{label: "Single", value: 1},
|
|
268
|
-
{label: "Double", value: 2}
|
|
269
|
-
]},
|
|
270
|
-
{label: "Images", name: "images", widget: list, fields: [
|
|
271
|
-
{label: "Src", name: "src", widget: image, required: false},
|
|
272
|
-
{label: "Link", name: "link", widget: string, required: false},
|
|
273
|
-
{label: "Alt", name: "alt", widget: string, required: false},
|
|
274
|
-
]}
|
|
275
|
-
- name: "pages"
|
|
276
|
-
label: "Pages"
|
|
277
|
-
folder: "src/pages/custom-pages"
|
|
278
|
-
create: true
|
|
279
|
-
slug: "{{slug}}"
|
|
280
|
-
fields:
|
|
281
|
-
- {label: "Template Key", name: "templateKey", widget: "hidden", default: "custom-page"}
|
|
282
|
-
- {label: Title, name: title, widget: string}
|
|
283
|
-
- {label: "User Requirement", name: userRequirement, widget: select, options: ["NONE", "LOGGED_IN", "HAS_TICKET"], default: "NONE"}
|
|
284
|
-
- {label: "Body", name: body, widget: markdown}
|
|
285
|
-
- name: "sponsors"
|
|
286
|
-
label: "Sponsors Data"
|
|
287
|
-
editor:
|
|
288
|
-
preview: false
|
|
289
|
-
files:
|
|
290
|
-
- file: "src/content/sponsors.json"
|
|
291
|
-
label: "Tier Sponsors"
|
|
292
|
-
name: "tier-sponsors"
|
|
293
|
-
fields:
|
|
294
|
-
- {label: "Tier Sponsors", name: "tierSponsors", widget: list, summary: "{{tier[0].label}}", fields: [
|
|
295
|
-
{label: "Tier", name: "tier", widget: ncw-file-relation, collection: configurations, file: sponsorsTiers, target_field: tiers, id_field: id, display_fields: name},
|
|
296
|
-
{label: "Sponsors", name: "sponsors", widget: list, fields: [
|
|
297
|
-
{label: "Name", name: "name", widget: string },
|
|
298
|
-
{label: "External ID", name: "id", widget: number },
|
|
299
|
-
{label: "Sponsor ID", name: "sponsorId", widget: number, required: false},
|
|
300
|
-
{label: "Company ID", name: "companyId", widget: number, required: false},
|
|
301
|
-
{label: "Featured Event ID", name: "featuredEventId", widget: number, required: false},
|
|
302
|
-
{label: "Title", name: "title", widget: string, required: false},
|
|
303
|
-
{label: "Intro", name: "intro", widget: markdown, required: false},
|
|
304
|
-
{label: "Contact Email", name: "email", widget: string, required: false},
|
|
305
|
-
{label: "Live Video Chat Link", name: "chatLink", widget: string, required: false},
|
|
306
|
-
{label: "Marquee Text", name: "marquee", widget: string, required: false},
|
|
307
|
-
{label: "Sponsor Color", name: "sponsorColor", widget: string, required: false},
|
|
308
|
-
{label: "Logo", name: "logo", widget: object, required: false, fields: [
|
|
309
|
-
{ label: "File", name: "file", widget: image, default: '', required: false },
|
|
310
|
-
{ label: "Alt", name: "alt", widget: string, required: false },
|
|
311
|
-
]},
|
|
312
|
-
{label: "Advertise Image", name: "advertiseImage", widget: object, required: false, fields: [
|
|
313
|
-
{ label: "File", name: "file", widget: image, default: '', required: false },
|
|
314
|
-
{ label: "Alt", name: "alt", widget: string, required: false },
|
|
315
|
-
]},
|
|
316
|
-
{label: "External Link", name: "externalLink", widget: string, required: false},
|
|
317
|
-
{label: "Social Networks", name: "socialNetworks", widget: list, fields: [
|
|
318
|
-
{label: "Icon", name: "icon", widget: string},
|
|
319
|
-
{label: "Link", name: "link", widget: string},
|
|
320
|
-
{label: "Display", name: "display", widget: boolean, required: false},
|
|
321
|
-
]},
|
|
322
|
-
{label: "Documents", name: "documents", widget: object, fields: [
|
|
323
|
-
{label: "Slides", name: "slides", widget: list, fields: [
|
|
324
|
-
{label: "Class Name", name: class_name, widget: hidden, default: "PresentationSlide"},
|
|
325
|
-
{label: "Name", name: name, widget: string},
|
|
326
|
-
{label: "Order", name: order, widget: number},
|
|
327
|
-
{label: "Link", name: link, widget: file, default: "/documents/" }
|
|
328
|
-
]},
|
|
329
|
-
{label: "Links", name: "links", widget: list, fields: [
|
|
330
|
-
{label: "Class Name", name: class_name, widget: hidden, default: "PresentationLink"},
|
|
331
|
-
{label: "Name", name: name, widget: string},
|
|
332
|
-
{label: "Order", name: order, widget: number},
|
|
333
|
-
{label: "Link", name: link, widget: string}
|
|
334
|
-
]},
|
|
335
|
-
{label: "Videos", name: "videos", widget: list, fields: [
|
|
336
|
-
{label: "Class Name", name: class_name, widget: hidden, default: "PresentationVideo"},
|
|
337
|
-
{label: "Name", name: name, widget: string},
|
|
338
|
-
{label: "Order", name: order, widget: number},
|
|
339
|
-
{label: "Link", name: link, widget: string}
|
|
340
|
-
]},
|
|
341
|
-
]},
|
|
342
|
-
{label: "Ads", name: "columnAds", widget: list, required: false, fields: [
|
|
343
|
-
{label: "Image", name: "image", widget: image},
|
|
344
|
-
{label: "Alt", name: "alt", widget: string, required: false},
|
|
345
|
-
{label: "Button Text", name: "text", widget: string, required: false},
|
|
346
|
-
{label: "Link", name: "link", widget: string, required: false}
|
|
347
|
-
]},
|
|
348
|
-
{label: "Uses Sponsor Page?", name: "usesSponsorPage", widget: boolean, required: false},
|
|
349
|
-
{label: "Header Image", name: "headerImage", widget: object, required: false, fields: [
|
|
350
|
-
{ label: "File", name: "file", widget: image, default: '', required: false},
|
|
351
|
-
{ label: "Alt", name: "alt", widget: string, required: false},
|
|
352
|
-
]},
|
|
353
|
-
{label: "Mobile Header Image", name: "headerImageMobile", widget: object, required: false, fields: [
|
|
354
|
-
{ label: "File", name: "file", widget: image, default: '', required: false},
|
|
355
|
-
{ label: "Alt", name: "alt", widget: string, required: false},
|
|
356
|
-
] },
|
|
357
|
-
{label: "Side Image", name: "sideImage", widget: object, required: false, fields: [
|
|
358
|
-
{ label: "File", name: "file", widget: image, default: '', required: false},
|
|
359
|
-
{ label: "Alt", name: "alt", widget: string, required: false},
|
|
360
|
-
]},
|
|
361
|
-
{label: "Video Header", name: "headerVideo", widget: string, required: false},
|
|
362
|
-
{label: "Show Logo in Event Page", name: "showLogoInEventPage", widget: boolean, required: false, default: true},
|
|
363
|
-
]}
|
|
364
|
-
]}
|
|
365
|
-
|