toVoxxrinSpeaker(sp)),
+ language: new TalkLanguageCode(firestoreTalk.language),
};
})
}
diff --git a/mobile/src/views/SpeakerDetailsPage.vue b/mobile/src/views/SpeakerDetailsPage.vue
index 3ada841b..15eca297 100644
--- a/mobile/src/views/SpeakerDetailsPage.vue
+++ b/mobile/src/views/SpeakerDetailsPage.vue
@@ -48,13 +48,24 @@
{{LL.Speaker_talks()}}
-
+ $emit('talk-clicked', clickedTalk)"
+ :is-highlighted="(talk, talkNotes) => talkNotes.isFavorite" :conf-descriptor="confDescriptor">
+
+
+
+
+ userEventTalkNotesRef.set(talk.id.value, updatedTalkNote) " />
+ userEventTalkNotesRef.set(talk.id.value, updatedTalkNote) " />
+
+
@@ -88,10 +99,13 @@ import {getResolvedEventRootPathFromSpacedEventIdRef, useCurrentSpaceEventIdRef}
import SpeakerThumbnail from "@/components/speaker/SpeakerThumbnail.vue";
import SocialMediaIcon from "@/components/ui/SocialMediaIcon.vue";
import {useLineupSpeaker} from "@/state/useEventSpeakers";
-import SpeakerTalk from "@/components/speaker-card/SpeakerTalk.vue";
import {useLocalEventTalkFavsStorage, useUserEventTalkNotes} from "@/state/useUserTalkNotes";
import {computed, toValue} from "vue";
import {useEventTalkStats} from "@/state/useEventTalkStats";
+import ScheduleTalk from "@/components/talk-card/ScheduleTalk.vue";
+import TalkRoom from "@/components/talk-card/TalkRoom.vue";
+import TalkFavoriteButton from "@/components/talk-card/TalkFavoriteButton.vue";
+import TalkWatchLaterButton from "@/components/talk-card/TalkWatchLaterButton.vue";
const LOGGER = Logger.named("SpeakerDetailsPage");
diff --git a/mobile/src/views/event/SpeakersDirectoryPage.vue b/mobile/src/views/event/SpeakersDirectoryPage.vue
index 29794933..98f98593 100644
--- a/mobile/src/views/event/SpeakersDirectoryPage.vue
+++ b/mobile/src/views/event/SpeakersDirectoryPage.vue
@@ -10,13 +10,24 @@
-
+ $emit('talk-clicked', clickedTalk)"
+ :is-highlighted="(talk, talkNotes) => talkNotes.isFavorite" :conf-descriptor="confDescriptor">
+
+
+
+
+ userEventTalkNotesRef.set(talk.id.value, updatedTalkNote) " />
+ userEventTalkNotesRef.set(talk.id.value, updatedTalkNote) " />
+
+
@@ -34,7 +45,7 @@
import CurrentEventHeader from "@/components/events/CurrentEventHeader.vue";
import {useSharedConferenceDescriptor} from "@/state/useConferenceDescriptor";
import {typesafeI18n} from "@/i18n/i18n-vue";
- import {managedRef as ref} from "@/views/vue-utils";
+ import {managedRef as ref, toManagedRef as toRef} from "@/views/vue-utils";
import {IonFab, IonFabButton} from "@ionic/vue";
import {albums, list, ticket} from "ionicons/icons";
import PoweredVoxxrin from "@/components/ui/PoweredVoxxrin.vue";
@@ -44,11 +55,14 @@
import ToolbarHeader from "@/components/ui/ToolbarHeader.vue";
import {getResolvedEventRootPathFromSpacedEventIdRef, useCurrentSpaceEventIdRef} from "@/services/Spaces";
import {useLineupSpeakers} from "@/state/useEventSpeakers";
- import SpeakerTalk from "@/components/speaker-card/SpeakerTalk.vue";
import {useLocalEventTalkFavsStorage, useUserEventTalkNotes} from "@/state/useUserTalkNotes";
import {computed, toValue} from "vue";
import {TalkId} from "@/models/VoxxrinTalk";
import {useEventTalkStats} from "@/state/useEventTalkStats";
+ import ScheduleTalk from "@/components/talk-card/ScheduleTalk.vue";
+ import TalkRoom from "@/components/talk-card/TalkRoom.vue";
+ import TalkFavoriteButton from "@/components/talk-card/TalkFavoriteButton.vue";
+ import TalkWatchLaterButton from "@/components/talk-card/TalkWatchLaterButton.vue";
const { LL } = typesafeI18n()
const spacedEventIdRef = useCurrentSpaceEventIdRef();