Skip to content

Commit 6086e40

Browse files
committed
online talks
1 parent 2a4d162 commit 6086e40

File tree

9 files changed

+51
-27
lines changed

9 files changed

+51
-27
lines changed

dist/css/app.ec4916bd.css renamed to dist/css/app.3ddd8729.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/js/app.17bc43cd.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/js/app.34a4d480.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

dist/precache-manifest.ff8eb4e0f57f8ce953b14fc18d2e724b.js renamed to dist/precache-manifest.83b34d9e859a506ec1b943703c68d6cb.js

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
44
"url": "dist/404.html"
55
},
66
{
7-
"revision": "ab79f253e531dcb69c93",
8-
"url": "dist/css/app.ec4916bd.css"
7+
"revision": "6be7100d07b1d1ef3947",
8+
"url": "dist/css/app.3ddd8729.css"
99
},
1010
{
1111
"revision": "27679e61bfd27e1093f4bf200900b8e7",
@@ -151,6 +151,10 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
151151
"revision": "77171768148f1e7b59db35aeddb3b6f4",
152152
"url": "dist/img/sponsors/reaktor.png"
153153
},
154+
{
155+
"revision": "0113381e6e4265600e6c38ed8fec25ac",
156+
"url": "dist/img/sponsors/relex.png"
157+
},
154158
{
155159
"revision": "1e5760de77cf6281f9c5ab61e27ad262",
156160
"url": "dist/img/sponsors/robocorp.png"
@@ -172,12 +176,12 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
172176
"url": "dist/img/ticket-depth.jpg"
173177
},
174178
{
175-
"revision": "c56142dd6b52c79b901088b9c1111e3b",
179+
"revision": "f46a7b9db790d8a24062ffc5ff0f8c78",
176180
"url": "dist/index.html"
177181
},
178182
{
179-
"revision": "ab79f253e531dcb69c93",
180-
"url": "dist/js/app.34a4d480.js"
183+
"revision": "6be7100d07b1d1ef3947",
184+
"url": "dist/js/app.17bc43cd.js"
181185
},
182186
{
183187
"revision": "40f670ff1370476acdd5",

dist/service-worker.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
1515

1616
importScripts(
17-
"dist/precache-manifest.ff8eb4e0f57f8ce953b14fc18d2e724b.js"
17+
"dist/precache-manifest.83b34d9e859a506ec1b943703c68d6cb.js"
1818
);
1919

2020
workbox.core.setCacheNameDetails({prefix: "robot-framework"});

index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@
1717
l.pathname.slice(0, -1) + decoded + l.hash
1818
);
1919
}
20-
}(window.location))</script><link href="dist/css/app.ec4916bd.css" rel="preload" as="style"><link href="dist/js/app.34a4d480.js" rel="preload" as="script"><link href="dist/js/chunk-vendors.11de9951.js" rel="preload" as="script"><link href="dist/css/app.ec4916bd.css" rel="stylesheet"><link rel="icon" type="image/png" sizes="32x32" href="dist/img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="dist/img/icons/favicon-16x16.png"><link rel="manifest" href="dist/manifest.json"><meta name="theme-color" content="#4DBA87"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="robot-framework"><link rel="apple-touch-icon" href="dist/img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="dist/img/icons/safari-pinned-tab.svg" color="#4DBA87"><meta name="msapplication-TileImage" content="dist/img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><noscript><strong>We're sorry but robot-framework doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="dist/js/chunk-vendors.11de9951.js"></script><script src="dist/js/app.34a4d480.js"></script></body></html>
20+
}(window.location))</script><link href="dist/css/app.3ddd8729.css" rel="preload" as="style"><link href="dist/js/app.17bc43cd.js" rel="preload" as="script"><link href="dist/js/chunk-vendors.11de9951.js" rel="preload" as="script"><link href="dist/css/app.3ddd8729.css" rel="stylesheet"><link rel="icon" type="image/png" sizes="32x32" href="dist/img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="dist/img/icons/favicon-16x16.png"><link rel="manifest" href="dist/manifest.json"><meta name="theme-color" content="#4DBA87"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="robot-framework"><link rel="apple-touch-icon" href="dist/img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="dist/img/icons/safari-pinned-tab.svg" color="#4DBA87"><meta name="msapplication-TileImage" content="dist/img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><noscript><strong>We're sorry but robot-framework doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="dist/js/chunk-vendors.11de9951.js"></script><script src="dist/js/app.17bc43cd.js"></script></body></html>

src/components/PageSection.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<h2 :id="titleId">
1212
{{ title }}
1313
</h2>
14-
<h3 v-if="subtitle" class="pl-3xsmall">
14+
<h3 v-if="!$store.state.isMobile && subtitle" class="pl-3xsmall">
1515
{{ subtitle }}
1616
</h3>
1717
</div>

src/components/Talks2023.vue

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<div v-if="(talk.submission_type.en || talk.submission_type) === 'Keynote' && $store.state.isMobile" class="rounded-small bg-grey-dark color-theme px-small pt-3xsmall pb-3xsmall mb-2xsmall" style="width: fit-content">
1111
Keynote
1212
</div>
13-
<h3 class="mb-3xsmall title" :id="getSlug(talk.title)">
13+
<h3 class="mb-3xsmall title" :id="getSlug(talk.title, talk)">
1414
<template v-if="talk.submission_type === 'Break'">
1515
{{ talk.description.en }} ({{ getBreakLength(talk.slot.start, talk.slot.end) }} min)
1616
</template>
@@ -29,7 +29,7 @@
2929
<div v-if="(talk.submission_type.en || talk.submission_type) === 'Keynote' && !$store.state.isMobile" class="rounded-small bg-grey-dark color-theme px-xsmall py-3xsmall mr-xsmall" style="height: fit-content; margin-top: -0.25rem;">
3030
Keynote
3131
</div>
32-
<a v-if="!$store.state.isMobile && talk.submission_type !== 'Break'" title="get link to talk" :class="talk.submission_type === 'Keynote' && 'm-xsmall'" :href="`#${getSlug(talk.title)}`">
32+
<a v-if="!$store.state.isMobile && talk.submission_type !== 'Break'" title="get link to talk" :class="talk.submission_type === 'Keynote' && 'm-xsmall'" :href="`#${getSlug(talk.title, talk)}`">
3333
<link-icon style="transform: translateY(2px)" />
3434
</a>
3535
</div>
@@ -116,11 +116,12 @@ export default {
116116
publicPath: process.env.BASE_URL
117117
}),
118118
mounted() {
119+
// check height of rendered bios - truncate if long
119120
this.items.forEach((talk) => {
120121
if (!talk.speakers) return
121122
talk.speakers.forEach((speaker) => {
122123
const bioElement = document.getElementById(`${talk.code}${speaker.code}`)
123-
if (bioElement === undefined) return
124+
if (!bioElement) return
124125
if (bioElement.offsetHeight < 100) speaker.expanded = true
125126
})
126127
})
@@ -136,8 +137,10 @@ export default {
136137
parseText(description) {
137138
return DOMPurify.sanitize(marked.parse(description || ''))
138139
},
139-
getSlug(title) {
140+
getSlug(title, talk) {
140141
if (!title) return ''
142+
const isOnline = talk?.slot?.room?.en === 'Gather Town'
143+
if (isOnline) return `online-${title.replace(/[ ]/g, '-').replace(/[^a-zA-Z0-9-]/g, '').toLowerCase()}`
141144
return title.replace(/[ ]/g, '-').replace(/[^a-zA-Z0-9-]/g, '').toLowerCase()
142145
},
143146
getBreakLength(start, end) {

src/views/Home.vue

Lines changed: 30 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -90,10 +90,23 @@
9090
<sponsors :sponsors="$tm('home.sponsors')" />
9191
</page-section>
9292
<div v-if="talks.length">
93-
<page-section title-id="talks" title="Talks" subtitle="Day 1 - Helsinki">
94-
<talks-2023 :items="talks.filter((talk) => talk.slot.start.includes('2023-01-19'))" />
93+
<page-section title-id="talks" title="Talks" :subtitle="shownTalks === 'live' ? 'Day 1 - Helsinki' : 'Online'">
94+
<button class="theme mb-large mt-small mr-small" :class="shownTalks === 'live' && 'active'" @click="shownTalks = 'live'">
95+
Live
96+
</button>
97+
<button class="theme mb-large mt-small" :class="shownTalks === 'online' && 'active'" @click="shownTalks = 'online'">
98+
Online
99+
</button>
100+
<transition name="opacity">
101+
<div v-if="shownTalks === 'live'">
102+
<talks-2023 :items="talks.filter((talk) => talk.slot.start.includes('2023-01-19'))" />
103+
</div>
104+
<div v-else>
105+
<talks-2023 :items="talks.filter((talk) => talk.slot.room?.en === 'Gather Town')" />
106+
</div>
107+
</transition>
95108
</page-section>
96-
<page-section title-id="talks2" title="Talks" subtitle="Day 2 - Helsinki">
109+
<page-section v-if="shownTalks === 'live'" title-id="talks2" title="Talks" subtitle="Day 2 - Helsinki">
97110
<talks-2023 :items="talks.filter((talk) => talk.slot.start.includes('2023-01-20'))" />
98111
<div class="mt-large">
99112
Online talks will be released soon, stay tuned!
@@ -103,8 +116,7 @@
103116
<div v-else>
104117
Loading talks...
105118
</div>
106-
<page-section title-id="workshops" title="Workshops">
107-
<h3 class="mt-large">Helsinki, in-person</h3>
119+
<page-section title-id="workshops" title="Workshops" subtitle="Helsinki, in-person">
108120
<talks-2023 v-if="workshops.length" :items="workshops" />
109121
<div v-else>
110122
Loading workshops...
@@ -135,17 +147,22 @@ export default {
135147
},
136148
data: () => ({
137149
talks: [],
138-
workshops: []
150+
workshops: [],
151+
shownTalks: 'live'
139152
}),
140153
created() {
141154
Promise.all([
142155
fetch('https://cfp.robocon.io/api/events/robocon-2023/submissions/'),
143-
fetch('https://pretalx.com/api/events/robocon-2023/schedules/latest/')
156+
fetch('https://cfp.robocon.io/api/events/robocon-2023-online/submissions/'),
157+
fetch('https://pretalx.com/api/events/robocon-2023/schedules/latest/'),
158+
fetch('https://pretalx.com/api/events/robocon-2023-online/schedules/latest/')
144159
])
145-
.then(async([submissions, schedule]) => {
160+
.then(async([submissions, submissionsOnline, schedule, scheduleOnline]) => {
146161
const talks = await submissions.json()
162+
const talksOnline = await submissionsOnline.json()
147163
const { breaks } = await schedule.json()
148-
return [talks.results, breaks]
164+
const { breaks: breaksOnline } = await scheduleOnline.json()
165+
return [[...talks.results, ...talksOnline.results], [...breaks, ...breaksOnline]]
149166
})
150167
.then(([list, breaks]) => {
151168
const talks = list
@@ -157,7 +174,6 @@ export default {
157174
...item,
158175
submission_type: item.description.en.toLowerCase().includes('talk') ? 'Misc' : 'Break'
159176
}))
160-
161177
this.talks = [...talks, ...breaksParsed]
162178
.map((item) => ({
163179
...item,
@@ -166,11 +182,12 @@ export default {
166182
}))
167183
.sort((a, b) => new Date(a.slot.start) < new Date(b.slot.start) ? -1 : 1)
168184
this.workshops = workshops
169-
.sort((a, b) => a.slot.room.en < b.slot.room.en ? -1 : 1)
185+
186+
const hash = window.location.hash
187+
if (!hash || hash === '') return
188+
if (hash.substring(1, 8) === 'online-') this.shownTalks = 'online'
170189
171190
this.$nextTick(() => {
172-
const hash = window.location.hash
173-
if (!hash || hash === '') return
174191
const el = document.getElementById(hash.slice(1))
175192
if (el) el.scrollIntoView()
176193
})

0 commit comments

Comments
 (0)