+ {#each getChildrens(e) as pe}
+
{#if pe.speakers.length === 0}
diff --git a/src/lib/Tooltip.svelte b/src/lib/Tooltip.svelte
new file mode 100644
index 0000000..c69f6e8
--- /dev/null
+++ b/src/lib/Tooltip.svelte
@@ -0,0 +1,91 @@
+
+
+
+
+
diff --git a/src/lib/events.js b/src/lib/events.js
new file mode 100644
index 0000000..52fa974
--- /dev/null
+++ b/src/lib/events.js
@@ -0,0 +1,15 @@
+
+export default function calcDuration(e, bundle) {
+ if (!bundle) {
+ return 0
+ }
+ if (e.duration) {
+ return e.duration
+ }
+ const childrens = bundle.spec.events.filter((i) => i.parent === e.id);
+ if (childrens.length > 0) {
+ let total = childrens.reduce((p, c) => p + (c.duration ? c.duration : 0), 0)
+ total += 5 * (childrens.length-1)
+ return total
+ }
+}
diff --git a/src/routes/program.svelte b/src/routes/program.svelte
index 88f2068..842dcb2 100644
--- a/src/routes/program.svelte
+++ b/src/routes/program.svelte
@@ -5,6 +5,14 @@
@@ -27,8 +35,8 @@
přednášejících
-
{$bundle.spec.events.reduce((p, c) => p + c.duration, 0)}
-
minut obsahu
+
{Math.round((totalDuration/60)*100)/100}
+
hodin obsahu
diff --git a/src/routes/udalosti.svelte b/src/routes/udalosti.svelte
index a20c876..92b642f 100644
--- a/src/routes/udalosti.svelte
+++ b/src/routes/udalosti.svelte
@@ -9,6 +9,8 @@
import { bundle, userData } from "$lib/stores.js";
import EventTypeLabel from "$lib/EventTypeLabel.svelte";
import Avatar from "$lib/Avatar.svelte";
+ import Event from "$lib/Event.svelte";
+ import calcDuration from "$lib/events.js";
import SvelteMarkdown from "svelte-markdown";
import Link from "$lib/Link.svelte";
@@ -16,6 +18,8 @@
$: id = getId($page.url.search);
$: e = $bundle ? $bundle.spec.events.find((ev) => ev.id === id) : null;
+ $: duration = e ? calcDuration(e, $bundle) : null
+ $: childrens = $bundle.spec.events.filter(i => i.parent === e.id);
function getId(search) {
const searchParams = new URLSearchParams(search);
@@ -51,7 +55,7 @@
{trackRender(e.track)}
-
{e.duration}m
+
{duration}m
{e.name}
{#if e.speakers && e.speakers.length > 0}
@@ -71,5 +75,13 @@
{/if}