11<script setup lang="ts">
22import SpeakerCfp from ' ~/components/speaker/SpeakerCfp.vue'
33import { useLocaleCurrent } from ' @/composables/useLocaleCurrent'
4+ import { useSupabaseStorage } from ' @/composables/useSupabaseStorage'
45import type { SpeakerCategory , SpeakerInfo } from ' @vuejs-jp/model'
56import { useRuntimeConfig } from ' #imports'
7+ import { REDIRECT_URL } from ' ~/utils/environment.constants'
68
79type _SpeakerCategory = Extract <SpeakerCategory , ' sessionSpeakers' | ' lightningTalkSpeakers' | ' sponsorSessionSpeakers' >
810type Speakers = Record <_SpeakerCategory , SpeakerInfo >
@@ -14,6 +16,8 @@ const props = defineProps<{
1416const config = useRuntimeConfig ()
1517const currentLocale = useLocaleCurrent ().locale
1618
19+ const { getStaticAvatarUrl } = useSupabaseStorage ()
20+
1721const { sessionSpeakers, lightningTalkSpeakers, sponsorSessionSpeakers } = props .data as Speakers
1822 </script >
1923
@@ -32,7 +36,7 @@ const { sessionSpeakers, lightningTalkSpeakers, sponsorSessionSpeakers } = props
3236 :to =" `${currentLocale === 'ja' ? '/' : `/${currentLocale}/`}sessions/${speaker.detail_page_id}`"
3337 >
3438 <VFSpeaker
35- :image =" speaker.image_url"
39+ :image =" getStaticAvatarUrl( speaker.image_url) "
3640 :company =" currentLocale === 'en' ? speaker.company_en : speaker.company_ja"
3741 :division =" currentLocale === 'en' ? speaker.position_en : speaker.position_ja"
3842 :name =" currentLocale === 'en' ? speaker.name_en : speaker.name_ja"
@@ -42,7 +46,7 @@ const { sessionSpeakers, lightningTalkSpeakers, sponsorSessionSpeakers } = props
4246 </NuxtLink >
4347 <VFSpeaker
4448 v-else
45- :image =" speaker.image_url"
49+ :image =" getStaticAvatarUrl( speaker.image_url) "
4650 :company =" currentLocale === 'en' ? speaker.company_en : speaker.company_ja"
4751 :division =" currentLocale === 'en' ? speaker.position_en : speaker.position_ja"
4852 :name =" currentLocale === 'en' ? speaker.name_en : speaker.name_ja"
@@ -68,7 +72,7 @@ const { sessionSpeakers, lightningTalkSpeakers, sponsorSessionSpeakers } = props
6872 :to =" `${currentLocale === 'ja' ? '/' : `/${currentLocale}/`}sessions/${speaker.detail_page_id}`"
6973 >
7074 <VFSpeaker
71- :image =" speaker.image_url"
75+ :image =" getStaticAvatarUrl( speaker.image_url) "
7276 :company =" currentLocale === 'en' ? speaker.company_en : speaker.company_ja"
7377 :division =" currentLocale === 'en' ? speaker.position_en : speaker.position_ja"
7478 :name =" currentLocale === 'en' ? speaker.name_en : speaker.name_ja"
@@ -78,7 +82,7 @@ const { sessionSpeakers, lightningTalkSpeakers, sponsorSessionSpeakers } = props
7882 </NuxtLink >
7983 <VFSpeaker
8084 v-else
81- :image =" speaker.image_url"
85+ :image =" getStaticAvatarUrl( speaker.image_url) "
8286 :company =" currentLocale === 'en' ? speaker.company_en : speaker.company_ja"
8387 :division =" currentLocale === 'en' ? speaker.position_en : speaker.position_ja"
8488 :name =" currentLocale === 'en' ? speaker.name_en : speaker.name_ja"
@@ -99,7 +103,7 @@ const { sessionSpeakers, lightningTalkSpeakers, sponsorSessionSpeakers } = props
99103 :to =" `${currentLocale === 'ja' ? '/' : `/${currentLocale}/`}sessions/${speaker.detail_page_id}`"
100104 >
101105 <VFSpeaker
102- :image =" speaker.image_url"
106+ :image =" getStaticAvatarUrl( speaker.image_url) "
103107 :company =" currentLocale === 'en' ? speaker.company_en : speaker.company_ja"
104108 :division =" currentLocale === 'en' ? speaker.position_en : speaker.position_ja"
105109 :name =" currentLocale === 'en' ? speaker.name_en : speaker.name_ja"
@@ -109,7 +113,7 @@ const { sessionSpeakers, lightningTalkSpeakers, sponsorSessionSpeakers } = props
109113 </NuxtLink >
110114 <VFSpeaker
111115 v-else
112- :image =" speaker.image_url"
116+ :image =" getStaticAvatarUrl( speaker.image_url) "
113117 :company =" currentLocale === 'en' ? speaker.company_en : speaker.company_ja"
114118 :division =" currentLocale === 'en' ? speaker.position_en : speaker.position_ja"
115119 :name =" currentLocale === 'en' ? speaker.name_en : speaker.name_ja"
0 commit comments