File tree Expand file tree Collapse file tree 11 files changed +592
-64
lines changed Expand file tree Collapse file tree 11 files changed +592
-64
lines changed Original file line number Diff line number Diff line change 11<script setup lang="ts">
2+ import IconButton from ' ~/components/social/IconButton.vue'
23import { useSession } from ' ~/composables/useSession'
34import { useLocaleCurrent } from ' ~/composables/useLocaleCurrent'
45import { Track } from ' ~/types/timetable'
6+ import SlideSvg from ' ~/assets/logo/slide_logo.svg'
7+ import YouTubeSvg from ' ~/assets/logo/youtube_logo.svg'
58
69const props = defineProps <{
710 tracks: Track []
@@ -67,6 +70,22 @@ const _nuxtLink = computed(() => resolveComponent('NuxtLink'))
6770 <div v-if =" session.speaker" class =" speaker" >
6871 {{ session.speakerKey ? $t(session.speakerKey) : session.speaker }}
6972 </div >
73+ <div class =" archives" >
74+ <IconButton v-if =" session.archives?.slide" :url =" session.archives?.slide" title =" Slide URL" >
75+ <div class =" slide" >
76+ <SlideSvg />
77+ </div >
78+ </IconButton >
79+ <IconButton
80+ v-if =" session.archives?.youtube"
81+ :url =" session.archives?.youtube"
82+ title =" YouTube URL"
83+ >
84+ <div class =" youtube" >
85+ <YouTubeSvg />
86+ </div >
87+ </IconButton >
88+ </div >
7089 </div >
7190 </td >
7291</template >
@@ -154,5 +173,34 @@ css({
154173 borderTop: ' 2px solid {color.timetable.trackD}' ,
155174 },
156175 },
176+ ' .archives' : {
177+ display: ' flex' ,
178+ justifyContent: ' flex-end' ,
179+ gap: ' calc({space.8} * 1)' ,
180+ fontSize: ' calc(11*{fontSize.base})' ,
181+ fontWeight: ' 500' ,
182+ },
183+ ' .slide' : {
184+ width: ' 40px' ,
185+ height: ' 40px' ,
186+ ' ::v-deep(svg)' : {
187+ fill: ' {color.vue.blue}' ,
188+ ' &:hover' : {
189+ opacity: 0.6 ,
190+ transition: ' .2s' ,
191+ },
192+ },
193+ },
194+ ' .youtube' : {
195+ width: ' 40px' ,
196+ height: ' 35.46px' ,
197+ ' ::v-deep(svg)' : {
198+ fill: ' {color.vue.blue}' ,
199+ ' &:hover' : {
200+ opacity: 0.6 ,
201+ transition: ' .2s' ,
202+ },
203+ },
204+ },
157205})
158206 </style >
Original file line number Diff line number Diff line change 11<script setup lang="ts">
2+ import IconButton from ' ~/components/social/IconButton.vue'
23import { useSession } from ' ~/composables/useSession'
3- import { Session } from ' ~/types/timetable'
44import { useLocaleCurrent } from ' ~/composables/useLocaleCurrent'
5+ import { Session } from ' ~/types/timetable'
6+ import SlideSvg from ' ~/assets/logo/slide_logo.svg'
7+ import YouTubeSvg from ' ~/assets/logo/youtube_logo.svg'
58
69const { locale } = useLocaleCurrent ()
710
@@ -93,6 +96,22 @@ const _nuxtLink = computed(() => resolveComponent('NuxtLink'))
9396 <div v-if =" session.speaker" class =" speaker" >
9497 {{ session.speakerKey ? $t(session.speakerKey) : session.speaker }}
9598 </div >
99+ <div class =" archives" >
100+ <IconButton v-if =" session.archives?.slide" :url =" session.archives?.slide" title =" Slide URL" >
101+ <div class =" slide" >
102+ <SlideSvg />
103+ </div >
104+ </IconButton >
105+ <IconButton
106+ v-if =" session.archives?.youtube"
107+ :url =" session.archives?.youtube"
108+ title =" YouTube URL"
109+ >
110+ <div class =" youtube" >
111+ <YouTubeSvg />
112+ </div >
113+ </IconButton >
114+ </div >
96115 </div >
97116 </td >
98117</template >
@@ -191,5 +210,34 @@ css({
191210 },
192211 },
193212 },
213+ ' .archives' : {
214+ display: ' flex' ,
215+ justifyContent: ' flex-end' ,
216+ gap: ' calc({space.8} * 1)' ,
217+ fontSize: ' calc(11*{fontSize.base})' ,
218+ fontWeight: ' 500' ,
219+ },
220+ ' .slide' : {
221+ width: ' 40px' ,
222+ height: ' 40px' ,
223+ ' ::v-deep(svg)' : {
224+ fill: ' {color.vue.blue}' ,
225+ ' &:hover' : {
226+ opacity: 0.6 ,
227+ transition: ' .2s' ,
228+ },
229+ },
230+ },
231+ ' .youtube' : {
232+ width: ' 40px' ,
233+ height: ' 35.46px' ,
234+ ' ::v-deep(svg)' : {
235+ fill: ' {color.vue.blue}' ,
236+ ' &:hover' : {
237+ opacity: 0.6 ,
238+ transition: ' .2s' ,
239+ },
240+ },
241+ },
194242})
195243 </style >
You can’t perform that action at this time.
0 commit comments