diff --git a/src/lib/Event.svelte b/src/lib/Event.svelte
index 5089205..9607f37 100644
--- a/src/lib/Event.svelte
+++ b/src/lib/Event.svelte
@@ -5,7 +5,7 @@
import Tooltip from "$lib/Tooltip.svelte";
import EventTypeLabel from "$lib/EventTypeLabel.svelte";
import { bundle, userData } from "$lib/stores.js";
- import calcDuration from "$lib/events.js";
+ import { calcDuration, addFavorite } from "$lib/events.js";
const e = event;
$: duration = calcDuration(e, $bundle);
@@ -25,24 +25,6 @@
function getChildrens(e) {
return $bundle.spec.events.filter((i) => i.parent === e.id);
}
-
- function handleFavorite(el) {
- const t = el.target.getAttribute("utxo-event-id");
- userData.update((data) => {
- const fe = data.favoriteEvents;
- let output = null;
- if (fe.includes(t)) {
- output = Object.assign($userData, {
- favoriteEvents: fe.filter((f) => f !== t),
- });
- } else {
- fe.push(t);
- output = Object.assign($userData, { favoriteEvents: fe });
- }
- //localStorage.setItem('userData', JSON.stringify(output))
- return output;
- });
- }
addFavorite(e.id, userData)}
/>
@@ -96,8 +77,7 @@
class="fa-star {$userData.favoriteEvents.includes(pe.id)
? 'fa-solid'
: 'fa-regular'} cursor-pointer"
- utxo-event-id={pe.id}
- on:click={handleFavorite}
+ on:click={() => addFavorite(e.id, userData)}
/>
diff --git a/src/lib/events.js b/src/lib/events.js
index 52fa974..2dda9b5 100644
--- a/src/lib/events.js
+++ b/src/lib/events.js
@@ -1,8 +1,9 @@
-export default function calcDuration(e, bundle) {
+export function calcDuration(e, bundle) {
if (!bundle) {
return 0
}
+ console.log(e.duration)
if (e.duration) {
return e.duration
}
@@ -13,3 +14,23 @@ export default function calcDuration(e, bundle) {
return total
}
}
+
+export function addFavorite(eventId, userData) {
+ userData.update((data) => {
+ const fe = data.favoriteEvents;
+ let output = null;
+ if (fe.includes(eventId)) {
+ output = Object.assign({}, data, {
+ favoriteEvents: fe.filter((f) => f !== eventId),
+ });
+ } else {
+ fe.push(eventId);
+ output = Object.assign(data, { favoriteEvents: fe });
+ }
+ //localStorage.setItem('userData', JSON.stringify(output))
+ return output;
+ })
+}
+
+export default function () {}
+
diff --git a/src/routes/program.svelte b/src/routes/program.svelte
index af151aa..2f65161 100644
--- a/src/routes/program.svelte
+++ b/src/routes/program.svelte
@@ -5,17 +5,19 @@
diff --git a/src/routes/udalosti.svelte b/src/routes/udalosti.svelte
index b3f597d..3c88a07 100644
--- a/src/routes/udalosti.svelte
+++ b/src/routes/udalosti.svelte
@@ -7,6 +7,7 @@
import { goto } from "$app/navigation";
import { onMount } from "svelte";
import { bundle, userData } from "$lib/stores.js";
+ import { addFavorite } from "$lib/events.js";
import EventTypeLabel from "$lib/EventTypeLabel.svelte";
import Avatar from "$lib/Avatar.svelte";
import Event from "$lib/Event.svelte";
@@ -62,6 +63,17 @@
{trackRender(e.track)}
{duration}m
+
+
addFavorite(e.id, userData)}>
+
+ {#if $userData.favoriteEvents.includes(e.id)} Tvoje oblíbená
+ událost{/if}
+
+
{e.name}
{#if e.speakers && e.speakers.length > 0}