This commit is contained in:
tree 2022-04-09 14:57:46 +02:00
rodič 258d49015b
revize cdc0fc58cb
4 změnil soubory, kde provedl 37 přidání a 13 odebrání

Zobrazit soubor

@ -63,8 +63,8 @@
{#if size === 'normal'}
<div class="w-36 sm:w-44 text-center pb-4">
<a href="/lide/{speaker.id}" on:mouseover={mouseOver} on:mouseleave={mouseLeave}><img src={currentImg} class="w-36 sm:w-40 rounded-full m-auto shadow-xl" alt={speaker.name} /></a>
<div class="mt-4 text-sm text-blue-web uppercase font-bold"><a href="/lide/{speaker.id}">{speaker.name}</a> {country}</div>
<a href="/lide?id={speaker.id}" on:mouseover={mouseOver} on:mouseleave={mouseLeave}><img src={currentImg} class="w-36 sm:w-40 rounded-full m-auto shadow-xl" alt={speaker.name} /></a>
<div class="mt-4 text-sm text-blue-web uppercase font-bold"><a href="/lide?id={speaker.id}">{speaker.name}</a> {country}</div>
{#if speaker.bio || speaker.orgs}
<div class="mt-1 text-xs text-blue-web italic"><SvelteMarkdown source={speaker.bio || speaker.orgs} /></div>
{/if}
@ -85,13 +85,13 @@
{#if size === 'extra-small'}
<div class="w-6 h-6 text-center">
<a href="/lide/{speaker.id}"><img src={currentImg} class="w-6 rounded-full m-auto" alt="{speaker.name}" /></a>
<a href="/lide?id={speaker.id}"><img src={currentImg} class="w-6 rounded-full m-auto" alt="{speaker.name}" /></a>
</div>
{/if}
{#if size === 'micro'}
<div class="w-4 h-4 text-center">
<a href="/lide/{speaker.id}"><img src={currentImg} class="w-4 rounded-full m-auto" alt="{speaker.name}" /></a>
<a href="/lide?id={speaker.id}"><img src={currentImg} class="w-4 rounded-full m-auto" alt="{speaker.name}" /></a>
</div>
{/if}

Zobrazit soubor

@ -44,13 +44,13 @@
<div class="transition-all mb-4 border px-3 py-2 rounded-md shadow {$userData.favoriteEvents.includes(e.id) ? 'bg-yellow-100' : '' }" >
<div class="float-right"><i class="fa-star {$userData.favoriteEvents.includes(e.id) ? 'fa-solid' : 'fa-regular'} cursor-pointer" utxo-event-id="{e.id}" on:click={handleFavorite}></i></div>
<div class="text-lg font-semibold"><a href="/udalosti/{e.id}">{e.name}</a></div>
<div class="text-lg font-semibold"><a href="/udalosti?id={e.id}">{e.name}</a></div>
{#if e.speakers && e.speakers.length > 0}
<div class="mt-1 mb-2 flex flex-wrap gap-2">
{#each speakersMap(e.speakers) as s}
<div class="flex gap-1.5">
<Avatar speaker={s} size='extra-small' />
<div class="m-auto"><a href="/lide/{s.id}">{s.name}</a></div>
<div class="m-auto"><a href="/lide?id={s.id}">{s.name}</a></div>
</div>
{/each}
</div>
@ -65,13 +65,13 @@
<div class="flex flex-wrap gap-2" cellpadding="5">
{#each getParents(e) as pe}
<div class="border rounded py-1.5 px-2.5 bg-gray-100 text-sm">
<div class="font-bold"><a href="/udalosti/{pe.id}">{pe.name}</a></div>
<div class="font-bold"><a href="/udalosti?id={pe.id}">{pe.name}</a></div>
<div class="mt-1">
{#if pe.speakers.length === 0}
<div>TBA</div>
{:else}
{#each speakersMap(pe.speakers) as s}
<div class="flex gap-1"><Avatar speaker={s} size='micro' /><div><a href="/lide/{s.id}">{s.name}</a></div></div>
<div class="flex gap-1"><Avatar speaker={s} size='micro' /><div><a href="/lide?id={s.id}">{s.name}</a></div></div>
{/each}
{/if}
</div>

Zobrazit soubor

@ -5,14 +5,26 @@
<script>
import SvelteMarkdown from 'svelte-markdown';
import { goto } from '$app/navigation';
import Avatar from '$lib/Avatar.svelte';
import Event from '$lib/Event.svelte';
import { onMount } from 'svelte';
import { page } from '$app/stores';
import { bundle } from '$lib/stores.js';
$: s = $bundle ? $bundle.spec.speakers.find(s => s.id === $page.params.id) : null
let id = null
let s = null
$: events = $bundle.spec.events.filter(ev => ev.speakers && ev.speakers.includes(s.id))
$: 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)) : []
onMount(() => {
const searchParams = new URLSearchParams($page.url.search)
id = searchParams.get('id')
if (!$bundle.spec.speakers.find(s => s.id === id)) {
goto('/')
}
})
function trackRender (trackId) {
const track = $bundle.spec.tracks.find(t => t.id === trackId)
@ -30,7 +42,7 @@
</script>
<section class="relative mx-auto py-6 sm:py-10 px-6 max-w-6xl text-blue-web">
{#if $bundle}
{#if $bundle && s}
<div class="sm:flex gap-10 mt-4">
<div><Avatar speaker={s} size="big" /></div>
<div class="mt-4 sm:mt-0">

Zobrazit soubor

@ -6,11 +6,23 @@
import SvelteMarkdown from 'svelte-markdown';
import { page } from '$app/stores';
import { goto } from '$app/navigation';
import { onMount } from 'svelte';
import { bundle, userData } from '$lib/stores.js';
import EventTypeLabel from '$lib/EventTypeLabel.svelte';
import Avatar from '$lib/Avatar.svelte';
$: e = $bundle ? $bundle.spec.events.find(ev => ev.id === $page.params.id) : null
let id = null
$: e = $bundle ? $bundle.spec.events.find(ev => ev.id === id) : null
onMount(() => {
const searchParams = new URLSearchParams($page.url.search)
id = searchParams.get('id')
if (!$bundle.spec.events.find(ev => ev.id === id)) {
goto('/program')
}
})
function speakersMap (arr) {
if (!arr) return;
@ -27,7 +39,7 @@
</script>
<section class="relative mx-auto py-6 sm:py-10 px-6 max-w-6xl text-blue-web">
{#if $bundle}
{#if $bundle && e}
<div class="mb-6 flex flex-wrap gap-4">
<div><EventTypeLabel event={e} size="big" /></div>
<div class="text-md my-auto">{trackRender(e.track)}</div>