Update
This commit is contained in:
rodič
d1c08b82f7
revize
4238086cae
|
@ -12,21 +12,26 @@
|
|||
}*/
|
||||
const priority = [ 'web:svg', 'web:webp', 'web:png', 'web:jpg', 'twitter:jpg' ]
|
||||
|
||||
let speakerImg = null
|
||||
let speakerImgAlt = null
|
||||
$: photos = getPhotos(speaker)
|
||||
$: speakerImg = photos[0]
|
||||
$: speakerImgAlt = photos[1]
|
||||
|
||||
if (speaker.photos && speaker.photos.length > 0) {
|
||||
for (const prio of priority) {
|
||||
if (speaker.photos.includes(prio)) {
|
||||
const [ ext, format ] = prio.split(':')
|
||||
const fn = `${imagesRoot}/${col}/${speaker.id}-${ext}.${format}`
|
||||
if (speakerImg) {
|
||||
$: speakerImgAlt = fn
|
||||
break
|
||||
function getPhotos (sp) {
|
||||
const output = []
|
||||
if (speaker.photos && speaker.photos.length > 0) {
|
||||
for (const prio of priority) {
|
||||
if (speaker.photos.includes(prio)) {
|
||||
const [ ext, format ] = prio.split(':')
|
||||
const fn = `${imagesRoot}/${col}/${speaker.id}-${ext}.${format}`
|
||||
if (output[0]) {
|
||||
output.push(fn)
|
||||
break
|
||||
}
|
||||
output.push(fn)
|
||||
}
|
||||
$: speakerImg = fn
|
||||
}
|
||||
}
|
||||
return output
|
||||
}
|
||||
|
||||
if (!speakerImg) {
|
||||
|
|
|
@ -12,24 +12,19 @@
|
|||
import { page } from '$app/stores';
|
||||
import { bundle } from '$lib/stores.js';
|
||||
|
||||
let id = null
|
||||
let s = null
|
||||
|
||||
$: id = getId($page.url.search)
|
||||
$: s = $bundle ? $bundle.spec.speakers.find(s => s.id === id) : null
|
||||
$: events = s ? $bundle.spec.events.filter(ev => ev.speakers && ev.speakers.includes(s.id)) : []
|
||||
|
||||
function loadItem () {
|
||||
const searchParams = new URLSearchParams($page.url.search)
|
||||
id = searchParams.get('id')
|
||||
if (!$bundle.spec.speakers.find(s => s.id === id)) {
|
||||
function getId (search) {
|
||||
const searchParams = new URLSearchParams(search)
|
||||
const cid = searchParams.get('id')
|
||||
if (!$bundle.spec.speakers.find(s => s.id === cid)) {
|
||||
goto('/')
|
||||
}
|
||||
return cid
|
||||
}
|
||||
|
||||
onMount(() => {
|
||||
loadItem()
|
||||
})
|
||||
|
||||
function trackRender (trackId) {
|
||||
const track = $bundle.spec.tracks.find(t => t.id === trackId)
|
||||
return track.shortname || track.name
|
||||
|
|
|
@ -12,22 +12,18 @@
|
|||
import EventTypeLabel from '$lib/EventTypeLabel.svelte';
|
||||
import Avatar from '$lib/Avatar.svelte';
|
||||
|
||||
let id = null
|
||||
|
||||
$: id = getId($page.url.search)
|
||||
$: e = $bundle ? $bundle.spec.events.find(ev => ev.id === id) : null
|
||||
|
||||
function loadItem () {
|
||||
const searchParams = new URLSearchParams($page.url.search)
|
||||
id = searchParams.get('id')
|
||||
if (!$bundle.spec.events.find(ev => ev.id === id)) {
|
||||
goto('/program')
|
||||
function getId (search) {
|
||||
const searchParams = new URLSearchParams(search)
|
||||
const cid = searchParams.get('id')
|
||||
if (!$bundle.spec.events.find(s => s.id === cid)) {
|
||||
goto('/')
|
||||
}
|
||||
return cid
|
||||
}
|
||||
|
||||
onMount(() => {
|
||||
loadItem()
|
||||
})
|
||||
|
||||
function speakersMap (arr) {
|
||||
if (!arr) return;
|
||||
return arr.map(sId => {
|
||||
|
|
Načítá se…
Odkázat v novém úkolu