Remote event segments

This commit is contained in:
tree 2023-02-23 06:45:52 +01:00
rodič 4d05afe592
revize e17c580183
2 změnil soubory, kde provedl 21 přidání a 5 odebrání

Zobrazit soubor

@ -9,6 +9,21 @@
export let entry; export let entry;
export let bundle; export let bundle;
export let event = null; export let event = null;
for (let i = 0; i < segments.length; i++) {
const sg = segments[i]
if (sg.remote) {
console.log(i)
const event = bundle.events.find(e => e.id === sg.remote)
const remoteSegments = event.segments.map(rs => Object.assign(rs, {
event,
remote: true
}))
segments.splice(i, remoteSegments.length, ...remoteSegments)
}
}
console.log(segments)
</script> </script>
<div class="text-2xl"> <div class="text-2xl">
@ -37,14 +52,14 @@
<ItemLogo item={segment.event || event} width={event ? 'w-8' : 'w-10'} /> <ItemLogo item={segment.event || event} width={event ? 'w-8' : 'w-10'} />
</a> </a>
<div> <div>
{#if !event} {#if !event || segment.remote}
{#if (segment.event || event).hidden} {#if (segment.event || event).hidden}
{(segment.event || event)[event && event.shortname ? 'shortname' : 'name']}* {(segment.event || event)[(segment.event || event).shortname ? 'shortname' : 'name']}*
{:else} {:else}
<a <a
href="/{entry}/{col}/{(segment.event || event).id}" href="/{entry}/{col}/{(segment.event || event).id}"
class="text-pbw-red hover:underline" class="text-pbw-red hover:underline"
>{(segment.event || event)[event && event.shortname ? 'shortname' : 'name']}</a >{(segment.event || event)[(segment.event || event).shortname ? 'shortname' : 'name']}</a
> >
{/if} {/if}
{:else} {:else}
@ -56,7 +71,7 @@
</div> </div>
</div> </div>
<div class="flex flex-wrap gap-2"> <div class="flex flex-wrap gap-2">
{#if !event} {#if !event && !segment.remote}
<div class="gap-1 items-center md:ml-2 hidden md:inline-flex text-xs"> <div class="gap-1 items-center md:ml-2 hidden md:inline-flex text-xs">
{#each (segment.event || event).types as type} {#each (segment.event || event).types as type}
<EventTypeBadge {type} /> <EventTypeBadge {type} />

Zobrazit soubor

@ -28,6 +28,7 @@
function eventDates(event) { function eventDates(event) {
const dates = []; const dates = [];
for (const seg of event.segments) { for (const seg of event.segments) {
if (seg.remote) continue;
const date = format(new Date(seg.startTime), 'yyyy-MM-dd'); const date = format(new Date(seg.startTime), 'yyyy-MM-dd');
if (!dates.includes(date)) { if (!dates.includes(date)) {
dates.push(date); dates.push(date);
@ -322,7 +323,7 @@
<div class="mt-4"> <div class="mt-4">
<CalendarList <CalendarList
{date} {date}
segments={item.segments.filter((s) => s.startTime.match(new RegExp('^' + date)))} segments={item.segments.filter((s) => s.remote || s.startTime.match(new RegExp('^' + date)))}
{entry} {entry}
bundle={data.bundle} bundle={data.bundle}
event={item} event={item}