1
1
<script setup lang="ts">
2
- // import { Image } from "astro:assets";
3
2
import { getGithubUrl } from ' @/utils/helpers'
4
3
import type { Session } from ' @/utils/types'
5
- // import { vTransitionName } from "@/utils/helpers";
4
+ import { vTransitionName } from " @/utils/helpers" ;
6
5
7
6
const props = defineProps ({
8
7
sessions: {
@@ -22,26 +21,36 @@ function getSpeakerPhoto(githubAccount: string) {
22
21
Agenda
23
22
</div >
24
23
<ul role =" list" class =" flex flex-col gap-6" >
25
- <li v-for =" (session, index) in sessions" :key =" index" class =" space-y-4 flex gap-10 relative" >
26
- <img class =" h-20 w-20 rounded-full lg:h-24 lg:w-24"
27
- :src =" getSpeakerPhoto(session.Session_id.speakers.github_account)" :alt =" session.Session_id.speakers.name"
28
- :title =" session.Session_id.speakers.name" width =" 300" height =" 300"
29
- :style =" vTransitionName(session?.Session_id.speakers?.name, 'photo')"
24
+ <li v-for =" (session, index) in sessions" :key =" index" class =" flex flex-row items-center sm:items-start gap-5 lg:gap-10 relative" >
25
+ <img
26
+ class =" h-16 sm:h-20 w-16 sm:w-20 rounded-full lg:h-24 lg:w-24"
27
+ :src =" getSpeakerPhoto(session.Session_id.speakers.github_account)" :alt =" session.Session_id.speakers.name"
28
+ :title =" session.Session_id.speakers.name" width =" 300" height =" 300"
29
+ :style =" vTransitionName(session?.Session_id.speakers?.name, 'photo')"
30
30
>
31
31
32
- <div class =" space-y-2" >
33
- <div >
34
- <h3 class =" font-heading text-xs font-medium lg:text-xl text-verse-500 dark:text-verse-400" >
35
- {{ session.Session_id.speakers.name }}
36
- </h3 >
37
- <p class =" text-xs font-bold lg:text-2xl text-verse-800 dark:text-verse-200" >
38
- {{ session.Session_id.title }}
39
- </p >
40
- </div >
32
+ <div >
33
+ <h3 class =" font-heading text-xs font-medium sm:text-sm md:text-base lg:text-xl text-verse-500 dark:text-verse-400" >
34
+ {{ session.Session_id.speakers.name }}
35
+ </h3 >
36
+ <p class =" text-sm font-bold sm:text-base md:text-lg lg:text-2xl text-verse-800 dark:text-verse-200" >
37
+ {{ session.Session_id.title }}
38
+ </p >
39
+ <NuxtLink
40
+ v-if =" session.Session_id.deck"
41
+ :href =" session.Session_id.deck"
42
+ target =" _blank"
43
+ rel =" noopener noreferrer nofollow"
44
+ class =" w-fit flex flex-row items-center gap-1 py-2 sticky z-[1] text-xs sm:text-sm md:text-base lg:text-lg underline"
45
+ >
46
+ View slides
47
+ <Icon name =" noto:backhand-index-pointing-right" class =" w-4 h-4" />
48
+ </NuxtLink >
41
49
</div >
42
50
43
- <NuxtLink :href =" `/speaker/${session.Session_id.speakers.id}`" class =" absolute inset-0"
44
- :title =" `Speaker name: ${session.Session_id.speakers.name}`"
51
+ <NuxtLink
52
+ :href =" `/speaker/${session.Session_id.speakers.id}`" class =" absolute inset-0"
53
+ :title =" `Speaker name: ${session.Session_id.speakers.name}`"
45
54
>
46
55
<span class =" sr-only" >{{ session.Session_id.speakers.name }}</span >
47
56
</NuxtLink >
0 commit comments