Skip to content

Commit 9f48ee4

Browse files
committed
Show "activities" as tags in popup and panel; update metadata and localization for activities label
1 parent 251876d commit 9f48ee4

13 files changed

Lines changed: 122 additions & 35 deletions

File tree

pcd-website/src/components/NodePanel.vue

Lines changed: 75 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -347,44 +347,58 @@ function getReportIssueHref(node: Node): string {
347347
{{ t('panel.online_event') }}
348348
</p>
349349
</div>
350-
<hr class="info-card-divider" aria-hidden="true" />
351-
352350
<!-- Row 3: Add to calendar (hidden when date is TBD) -->
353-
<div v-if="!node.date_tbd" class="info-card-row info-card-calendar-row">
354-
<Icon icon="bi:calendar-plus" width="1em" height="1em" aria-hidden="true" class="info-card-icon" />
355-
<div class="info-card-cal-trigger-wrap">
356-
<button
357-
class="info-card-cal-trigger"
358-
:aria-label="t('panel.add_to_calendar')"
359-
aria-haspopup="menu"
360-
:aria-expanded="calDropdownOpen"
361-
@click.stop="calDropdownOpen = !calDropdownOpen"
362-
>
363-
{{ t('panel.add_to_calendar') }}
364-
</button>
365-
<div v-show="calDropdownOpen" class="quick-action-menu" role="menu">
366-
<a
367-
:href="calendarLinks(node).googleCalUrl"
368-
target="_blank"
369-
rel="noopener noreferrer"
370-
role="menuitem"
371-
:aria-label="t('panel.google_calendar_new_tab')"
372-
@click="calDropdownOpen = false"
373-
>{{ t('panel.google_calendar') }}</a>
374-
<a
375-
:href="calendarLinks(node).outlookCalUrl"
376-
target="_blank"
377-
rel="noopener noreferrer"
378-
role="menuitem"
379-
:aria-label="t('panel.outlook_new_tab')"
380-
@click="calDropdownOpen = false"
381-
>{{ t('panel.outlook') }}</a>
382-
<button role="menuitem" @click="downloadIcs(node); calDropdownOpen = false">
383-
{{ t('panel.download_ics') }}
351+
<template v-if="!node.date_tbd">
352+
<hr class="info-card-divider" aria-hidden="true" />
353+
<div class="info-card-row info-card-calendar-row">
354+
<Icon icon="bi:calendar-plus" width="1em" height="1em" aria-hidden="true" class="info-card-icon" />
355+
<div class="info-card-cal-trigger-wrap">
356+
<button
357+
class="info-card-cal-trigger"
358+
:aria-label="t('panel.add_to_calendar')"
359+
aria-haspopup="menu"
360+
:aria-expanded="calDropdownOpen"
361+
@click.stop="calDropdownOpen = !calDropdownOpen"
362+
>
363+
{{ t('panel.add_to_calendar') }}
384364
</button>
365+
<div v-show="calDropdownOpen" class="quick-action-menu" role="menu">
366+
<a
367+
:href="calendarLinks(node).googleCalUrl"
368+
target="_blank"
369+
rel="noopener noreferrer"
370+
role="menuitem"
371+
:aria-label="t('panel.google_calendar_new_tab')"
372+
@click="calDropdownOpen = false"
373+
>{{ t('panel.google_calendar') }}</a>
374+
<a
375+
:href="calendarLinks(node).outlookCalUrl"
376+
target="_blank"
377+
rel="noopener noreferrer"
378+
role="menuitem"
379+
:aria-label="t('panel.outlook_new_tab')"
380+
@click="calDropdownOpen = false"
381+
>{{ t('panel.outlook') }}</a>
382+
<button role="menuitem" @click="downloadIcs(node); calDropdownOpen = false">
383+
{{ t('panel.download_ics') }}
384+
</button>
385+
</div>
385386
</div>
386387
</div>
387-
</div>
388+
</template>
389+
<template v-if="node.event_activities?.length">
390+
<hr class="info-card-divider" aria-hidden="true" />
391+
<div class="info-card-row panel-activities">
392+
<Icon icon="bi:tag" width="1em" height="1em" aria-hidden="true" class="info-card-icon" />
393+
<div class="panel-activity-tags">
394+
<span
395+
v-for="activity in node.event_activities"
396+
:key="activity"
397+
class="panel-activity-tag"
398+
>{{ activity }}</span>
399+
</div>
400+
</div>
401+
</template>
388402
</div>
389403

390404
<!-- Minimap (hidden for online events and TBD locations) -->
@@ -682,6 +696,29 @@ function getReportIssueHref(node: Node): string {
682696
color: var(--color-text-muted);
683697
}
684698
699+
.panel-activity-tags {
700+
display: flex;
701+
flex-wrap: wrap;
702+
gap: 0.4em;
703+
}
704+
705+
.panel-activity-tag {
706+
display: inline-flex;
707+
align-items: center;
708+
font-size: 0.75rem;
709+
font-weight: 500;
710+
padding: 0.2em 0.55em;
711+
border-radius: 4px;
712+
border: 1px solid var(--color-border);
713+
background: var(--color-bg-panel);
714+
color: var(--color-text);
715+
text-transform: capitalize;
716+
}
717+
718+
[data-theme="dark"] .panel-activity-tag {
719+
border-color: var(--color-border-light);
720+
}
721+
685722
.panel-organizing-entity {
686723
margin: 0 0 0.125rem;
687724
font-size: 0.875rem;
@@ -954,6 +991,10 @@ function getReportIssueHref(node: Node): string {
954991
transition: background-color 0.12s ease, color 0.12s ease, border-color 0.12s ease;
955992
}
956993
994+
[data-theme="dark"] .quick-action-btn {
995+
border-color: var(--color-border-light);
996+
}
997+
957998
.quick-action-btn:hover {
958999
background: var(--color-primary);
9591000
color: #fff;

pcd-website/src/content/events/pcd-london-2026/metadata.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"event_start_time": "19:00",
2525
"event_end_time": "21:30",
2626
"event_short_description": "",
27-
"event_activities": [],
27+
"event_activities": ["talk", "workshop", "showcase"],
2828
"event_page_url": "https://example.co.uk/pcd",
2929
"forum_thread_url": "",
3030
"city": "London",

pcd-website/src/i18n/locales/de.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
"show_less": "Weniger anzeigen",
6262
"disclaimer_with_org": "Diese Veranstaltung wird von {org} organisiert und ist nicht mit der Processing Foundation verbunden. Bei Fragen zu dieser Veranstaltung wenden Sie sich bitte direkt an die Organisator:innen.",
6363
"disclaimer_without_org": "Diese Veranstaltung wird unabhängig organisiert und ist nicht mit der Processing Foundation verbunden. Bei Fragen zu dieser Veranstaltung wenden Sie sich bitte direkt an die Organisator:innen.",
64+
"activities_label": "Aktivitäten",
6465
"report_issue": "Ein Problem mit dieser Seite melden",
6566
"email_subject": "[Meldung] Problem mit der Seite \"{name}\"",
6667
"email_body": "Hallo PCD-Team,\n\nich möchte ein Problem mit der folgenden Seite melden:\n\n- Name: \"{name}\"\n- Link: {link}\n\n[Bitte beschreiben Sie das Problem hier].\n\nVielen Dank!"

pcd-website/src/i18n/locales/en.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
"show_less": "Show less",
6262
"disclaimer_with_org": "This event is organized by {org} and is not affiliated with the Processing Foundation. For any questions or concerns about this event, please contact the organizers directly.",
6363
"disclaimer_without_org": "This event is independently organized and is not affiliated with the Processing Foundation. For any questions or concerns about this event, please contact the organizers directly.",
64+
"activities_label": "Activities",
6465
"report_issue": "Report an issue with this page",
6566
"email_subject": "[Report] Issue with \"{name}\" page",
6667
"email_body": "Hi PCD team,\n\nI would like to report an issue with the following page:\n\n- Name: \"{name}\"\n- Link: {link}\n\n[Please describe the issue here].\n\nThank you!"

pcd-website/src/i18n/locales/es.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
"show_less": "Mostrar menos",
6262
"disclaimer_with_org": "Este evento está organizado de forma independiente y no está afiliado con la Processing Foundation.Para cualquier pregunta o inquietud sobre este evento, comuníquese directamente con {org}.",
6363
"disclaimer_without_org": "Este evento está organizado de forma independiente y no está afiliado con la Processing Foundation. Para cualquier pregunta o inquietud sobre este evento, comuníquese directamente con los/as organizadores/as.",
64+
"activities_label": "Actividades",
6465
"report_issue": "Reportar un problema con esta página",
6566
"email_subject": "[Reporte] Problema con la página \"{name}\"",
6667
"email_body": "Hola equipo PCD,\n\nMe gustaría reportar un problema con la siguiente página:\n\n- Nombre: \"{name}\"\n- Enlace: {link}\n\n[Por favor describa el problema aquí].\n\n¡Gracias!"

pcd-website/src/i18n/locales/fr.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
"show_less": "Afficher moins",
6262
"disclaimer_with_org": "Cet événement est organisé de manière indépendante et n'est pas affilié à la Processing Foundation. Pour toute question concernant cet événement, veuillez contacter directement {org}.",
6363
"disclaimer_without_org": "Cet événement est organisé de manière indépendante et n'est pas affilié à la Processing Foundation. Pour toute question concernant cet événement, veuillez contacter directement les organisateur·rice·s.",
64+
"activities_label": "Activités",
6465
"report_issue": "Signaler un problème sur cette page",
6566
"email_subject": "[Signalement] Problème avec la page \"{name}\"",
6667
"email_body": "Bonjour l’équipe PCD,\n\nJe souhaite signaler un problème avec la page suivante :\n\n- Nom : \"{name}\"\n- Lien : {link}\n\n[Veuillez décrire le problème ici].\n\nMerci !"

pcd-website/src/i18n/locales/ja.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
"show_less": "折りたたむ",
6262
"disclaimer_with_org": "このイベントは {org} が主催しており、Processing Foundation とは関係ありません。このイベントに関するご質問・ご不明点は、主催者に直接お問い合わせください。",
6363
"disclaimer_without_org": "このイベントは独自に主催されており、Processing Foundation とは関係ありません。このイベントに関するご質問・ご不明点は、主催者に直接お問い合わせください。",
64+
"activities_label": "アクティビティ",
6465
"report_issue": "このページの問題を報告する",
6566
"email_subject": "【報告】「{name}」ページの問題",
6667
"email_body": "PCD チームの皆様、\n\n以下のページに関する問題を報告します:\n\n- 名前:「{name}」\n- リンク:{link}\n\n[問題の詳細をここに記入してください]。\n\nよろしくお願いします。"

pcd-website/src/i18n/locales/ko.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
"show_less": "접기",
6262
"disclaimer_with_org": "이 이벤트는 {org}이(가) 주최하며 Processing Foundation과 관련이 없습니다. 이 이벤트에 관한 질문이나 우려 사항은 주최자에게 직접 문의하세요.",
6363
"disclaimer_without_org": "이 이벤트는 독립적으로 주최되며 Processing Foundation과 관련이 없습니다. 이 이벤트에 관한 질문이나 우려 사항은 주최자에게 직접 문의하세요.",
64+
"activities_label": "활동",
6465
"report_issue": "이 페이지의 문제 신고",
6566
"email_subject": "[신고] \"{name}\" 페이지 문제",
6667
"email_body": "PCD 팀 안녕하세요,\n\n다음 페이지의 문제를 신고하고 싶습니다:\n\n- 이름: \"{name}\"\n- 링크: {link}\n\n[여기에 문제를 설명해 주세요].\n\n감사합니다!"

pcd-website/src/i18n/locales/pt.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
"show_less": "Mostrar menos",
6262
"disclaimer_with_org": "Este evento é organizado por {org} e não é afiliado à Processing Foundation. Para quaisquer dúvidas ou preocupações sobre este evento, entre em contato diretamente com os organizadores.",
6363
"disclaimer_without_org": "Este evento é organizado de forma independente e não é afiliado à Processing Foundation. Para quaisquer dúvidas ou preocupações sobre este evento, entre em contato diretamente com os organizadores.",
64+
"activities_label": "Atividades",
6465
"report_issue": "Reportar um problema com esta página",
6566
"email_subject": "[Reporte] Problema com a página \"{name}\"",
6667
"email_body": "Olá equipe PCD,\n\nGostaria de reportar um problema com a seguinte página:\n\n- Nome: \"{name}\"\n- Link: {link}\n\n[Por favor descreva o problema aqui].\n\nObrigado!"

pcd-website/src/i18n/locales/zh-CN.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
"show_less": "收起",
6262
"disclaimer_with_org": "本活动由 {org} 主办,与 Processing Foundation 无关。如对本活动有任何疑问,请直接联系主办方。",
6363
"disclaimer_without_org": "本活动为独立主办,与 Processing Foundation 无关。如对本活动有任何疑问,请直接联系主办方。",
64+
"activities_label": "活动类型",
6465
"report_issue": "举报此页面的问题",
6566
"email_subject": "[举报] \"{name}\"页面问题",
6667
"email_body": "您好,PCD 团队,\n\n我想举报以下页面的问题:\n\n- 名称:\"{name}\"\n- 链接:{link}\n\n[请在此描述问题]。\n\n谢谢!"

0 commit comments

Comments
 (0)