Remote event segments
This commit is contained in:
rodič
4d05afe592
revize
e17c580183
|
@ -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} />
|
||||||
|
|
|
@ -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}
|
||||||
|
|
Načítá se…
Odkázat v novém úkolu