Skip to content

Commit 6897596

Browse files
authored
Merge pull request #665 from pycontw/feat/625
[Feature] - [program] - 2025 Panal discussion #625
2 parents d0cbd8e + fcc082c commit 6897596

File tree

8 files changed

+184
-92
lines changed

8 files changed

+184
-92
lines changed

i18n/conference/panel-discussion.i18n.js

Lines changed: 111 additions & 39 deletions
Large diffs are not rendered by default.

pages/conference/panel-discussion.vue

Lines changed: 72 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,13 @@
1818
v-for="(host, j) in hosts"
1919
:key="`host-${j}`"
2020
class="host"
21+
@click="showModal(host)"
2122
>
22-
<img class="host__avatar" :src="host.avatar" />
23+
<img
24+
class="host__avatar"
25+
:src="host.avatar"
26+
:alt="host.name"
27+
/>
2328
<span class="host__name">{{ host.name }}</span>
2429
</div>
2530
</div>
@@ -80,14 +85,9 @@
8085
{{ speech.title }}
8186
</p>
8287
<div class="speechBox__description">
83-
<p
84-
v-for="(
85-
desc, desc_idx
86-
) in speech.full_description"
87-
:key="`speech_info_${speechIdx}_desc_${desc_idx}`"
88-
>
89-
{{ desc }}
90-
</p>
88+
<i18n path="speechDescription" tag="p">
89+
<template #br><br /></template>
90+
</i18n>
9191
</div>
9292
<text-button
9393
:href="speech.note_link"
@@ -126,7 +126,7 @@ import i18n from '@/i18n/conference/panel-discussion.i18n'
126126
import I18nPageWrapper from '@/components/core/i18n/PageWrapper'
127127
import CoreH1 from '@/components/core/titles/H1'
128128
import TextButton from '@/components/core/buttons/TextButton'
129-
import Modal from '~/components/core/modal/Modal'
129+
import Modal from '@/components/core/modal/Modal'
130130
131131
export default {
132132
i18n,
@@ -142,54 +142,16 @@ export default {
142142
isOpened: false,
143143
selectedItem: {},
144144
tagToLangIcon: {
145-
speech1: require('~/static/img/icons/lang/ZHZH.svg'),
145+
speech1: require('~/static/img/icons/lang/ENEN.svg'),
146146
},
147-
hosts: [
148-
{
149-
name: 'Yung-Yu Chen',
150-
avatar: require('~/static/img/panel-discussion/YungYuChen.jpeg'),
151-
},
152-
],
153-
participants: [
154-
{
155-
avatar: require('~/static/img/panel-discussion/蔡炎龍.jpeg'),
156-
name: '蔡炎龍',
157-
description: [
158-
'蔡炎龍教授為美國爾灣加州大學的數學博士,現任國立政治大學應用數學系副教授兼任學務處學務長。' +
159-
'蔡教授長期致力於Python的推廣教育,並於2020年與2022年分別出版《少年Py的大冒險:成為Python數據分析達人的第一門課》' +
160-
'與《少年Py的大冒險-成為Python AI深度學習達人的第一門課》兩本書,在推廣Python教育方面取得了卓越成果。' +
161-
'此外,蔡教授亦擔任擔任政治大學數理資訊學程的召集人和政大 PyDay 的創辦人。',
162-
],
163-
},
164-
{
165-
avatar: require('~/static/img/panel-discussion/柯維然.jpeg'),
166-
name: '柯維然',
167-
description: [
168-
'努力在政府部門中點燃數位與技術的火苗;' +
169-
'曾是熱愛用數據與程式解決問題的資料戰警,目前服務於數位發展部部長室,' +
170-
'負責協助各單位專案與部內資訊架構服務建置,導入與改善政府數位服務流程,' +
171-
'同時於交通大學資訊工程研究所攻讀博士班,主要研究方向為深度生成模型、電腦視覺。',
172-
'',
173-
],
174-
},
175-
{
176-
avatar: require('~/static/img/panel-discussion/PeterWolf.jpeg'),
177-
name: 'Peter Wolf',
178-
description: [
179-
'語言科學專家、卓騰語言科技創辦人及核心開發工程師。探究人類語言與認知之間的關係,' +
180-
'主張自然語言處理需考慮語言的本質,而非直接套用現成的工具處理表面現象。' +
181-
'正在執行的任務是透過打造自然語言理解的基礎建設,促成「具人類思維方式」的機器心智。',
182-
],
183-
},
184-
],
185147
speechInfos: [
186148
{
187-
date: '3',
149+
date: '6',
188150
month: 'Sep',
189151
speeches: [
190152
{
191153
tag: 'speech1',
192-
speechtime: '15:40-16:40 (GMT+8)',
154+
speechtime: '16:00 ~ 17:00 (GMT+8)',
193155
title: this.$t('speechTitle'),
194156
full_description: [this.$t('speechDescription')],
195157
note_link: 'https://hackmd.io/@pycontw/H1PtLsmph',
@@ -201,6 +163,63 @@ export default {
201163
],
202164
}
203165
},
166+
computed: {
167+
hosts() {
168+
return [
169+
{
170+
name: this.$i18n.t('hosts.Kir.name'),
171+
avatar: require('~/static/img/panel-discussion/Kir.jpg'),
172+
description: this.$i18n.t('hosts.Kir.description', {
173+
returnObjects: true,
174+
}),
175+
},
176+
]
177+
},
178+
participants() {
179+
return [
180+
{
181+
name: this.$i18n.t('participants.DongheeNa.name'),
182+
avatar: require('~/static/img/panel-discussion/DongheeNa.jpeg'),
183+
description: this.$i18n.t(
184+
'participants.DongheeNa.description',
185+
{
186+
returnObjects: true,
187+
},
188+
),
189+
},
190+
{
191+
name: this.$i18n.t('participants.SebastiánRamírez.name'),
192+
avatar: require('~/static/img/panel-discussion/SebastiánRamírez.jpg'),
193+
description: this.$i18n.t(
194+
'participants.SebastiánRamírez.description',
195+
{
196+
returnObjects: true,
197+
},
198+
),
199+
},
200+
{
201+
name: this.$i18n.t('participants.TicaLin.name'),
202+
avatar: require('~/static/img/panel-discussion/TicaLin.png'),
203+
description: this.$i18n.t(
204+
'participants.TicaLin.description',
205+
{
206+
returnObjects: true,
207+
},
208+
),
209+
},
210+
{
211+
name: this.$i18n.t('participants.YCChen.name'),
212+
avatar: require('~/static/img/panel-discussion/YCChen.jpg'),
213+
description: this.$i18n.t(
214+
'participants.YCChen.description',
215+
{
216+
returnObjects: true,
217+
},
218+
),
219+
},
220+
]
221+
},
222+
},
204223
methods: {
205224
showModal(item) {
206225
this.isOpened = true
@@ -354,7 +373,8 @@ export default {
354373
.host {
355374
@apply mr-5 flex flex-col md:mr-14;
356375
}
357-
.participant:hover {
376+
.participant:hover,
377+
.host:hover {
358378
@apply cursor-pointer text-primary-500;
359379
}
360380
2.06 MB
Loading
1.69 MB
Loading
88.5 KB
Loading
2.83 MB
Loading
308 KB
Loading

store/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ export const state = () => ({
3131
// 'keynotes',
3232
// 'talks',
3333
// 'tutorials',
34-
'panelDiscussion',
34+
// 'panelDiscussion',
3535
], // ['keynotes', 'talks', 'tutorials', 'panelDiscussion']
3636

3737
eventsHideItems: ['jobs'], // ['sprints', 'openSpaces', 'jobs']

0 commit comments

Comments
 (0)