feat: add wiki button to agenda list for hackathon sessions (#8133)
* feat: add wiki button to agenda list for hackathon sessions * fix: update client/agenda/AgendaScheduleList.vue Co-authored-by: Matthew Holloway <matthew@holloway.co.nz> * fix: broken tests --------- Co-authored-by: Matthew Holloway <matthew@holloway.co.nz> Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
This commit is contained in:
parent
98b251487d
commit
4a1d29e86c
|
@ -284,6 +284,7 @@ const meetingEvents = computed(() => {
|
|||
const purposesWithoutLinks = ['admin', 'closed_meeting', 'officehours', 'social']
|
||||
if (item.flags.showAgenda || (typesWithLinks.includes(item.type) && !purposesWithoutLinks.includes(item.purpose))) {
|
||||
if (item.flags.agenda) {
|
||||
// -> Meeting Materials
|
||||
links.push({
|
||||
id: `lnk-${item.id}-tar`,
|
||||
label: 'Download meeting materials as .tar archive',
|
||||
|
@ -305,7 +306,18 @@ const meetingEvents = computed(() => {
|
|||
color: 'red'
|
||||
})
|
||||
}
|
||||
if (agendaStore.usesNotes) {
|
||||
// -> Point to Wiki for Hackathon sessions, HedgeDocs otherwise
|
||||
if (item.name.toLowerCase().includes('hackathon')) {
|
||||
links.push({
|
||||
id: `lnk-${item.id}-wiki`,
|
||||
label: 'Wiki',
|
||||
icon: 'book',
|
||||
href: getUrl('hackathonWiki', {
|
||||
meetingNumber: agendaStore.meeting.number
|
||||
}),
|
||||
color: 'blue'
|
||||
})
|
||||
} else if (agendaStore.usesNotes) {
|
||||
links.push({
|
||||
id: `lnk-${item.id}-note`,
|
||||
label: 'Notepad for note-takers',
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
"bofDefinition": "https://www.ietf.org/how/bofs/",
|
||||
"hackathonWiki": "https://wiki.ietf.org/meeting/{meetingNumber}/hackathon",
|
||||
"meetingCalIcs": "/meeting/{meetingNumber}/agenda.ics",
|
||||
"meetingDetails": "/meeting/{meetingNumber}/session/{eventAcronym}/",
|
||||
"meetingMaterialsPdf": "/meeting/{meetingNumber}/agenda/{eventAcronym}-drafts.pdf",
|
||||
|
|
|
@ -101,7 +101,7 @@
|
|||
<div id="app"></div>
|
||||
<div id="app-loading">
|
||||
<div id="app-loading-footer">
|
||||
<a class="btn btn-light text-body-secondary mb-3" href="/meeting/{{ meetingData.meetingNumber }}/agenda.txt"><small>Switch to text-only version ⮞</small></a>
|
||||
<a class="btn btn-light text-body-secondary mb-3" href="/meeting/{{ meetingData.meetingNumber }}/agenda.txt"><small>Switch to text-only version »</small></a>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -286,10 +286,17 @@ test.describe('past - desktop', () => {
|
|||
// No meeting materials yet warning badge
|
||||
await expect(eventButtons.locator('.no-meeting-materials')).toBeVisible()
|
||||
}
|
||||
// Notepad button
|
||||
const hedgeDocLink = `https://notes.ietf.org/notes-ietf-${meetingData.meeting.number}-${event.type === 'plenary' ? 'plenary' : event.acronym}`
|
||||
await expect(eventButtons.locator(`#btn-lnk-${event.id}-note`)).toHaveAttribute('href', hedgeDocLink)
|
||||
await expect(eventButtons.locator(`#btn-lnk-${event.id}-note > i.bi`)).toBeVisible()
|
||||
if (event.name.toLowerCase().includes('hackathon')) {
|
||||
// Hackathon Wiki button
|
||||
const hackathonWikiLink = `https://wiki.ietf.org/meeting/${meetingData.meeting.number}/hackathon`
|
||||
await expect(eventButtons.locator(`#btn-lnk-${event.id}-wiki`)).toHaveAttribute('href', hackathonWikiLink)
|
||||
await expect(eventButtons.locator(`#btn-lnk-${event.id}-wiki > i.bi`)).toBeVisible()
|
||||
} else {
|
||||
// Notepad button
|
||||
const hedgeDocLink = `https://notes.ietf.org/notes-ietf-${meetingData.meeting.number}-${event.type === 'plenary' ? 'plenary' : event.acronym}`
|
||||
await expect(eventButtons.locator(`#btn-lnk-${event.id}-note`)).toHaveAttribute('href', hedgeDocLink)
|
||||
await expect(eventButtons.locator(`#btn-lnk-${event.id}-note > i.bi`)).toBeVisible()
|
||||
}
|
||||
// Chat logs
|
||||
await expect(eventButtons.locator(`#btn-lnk-${event.id}-logs`)).toHaveAttribute('href', event.links.chatArchive)
|
||||
await expect(eventButtons.locator(`#btn-lnk-${event.id}-logs > i.bi`)).toBeVisible()
|
||||
|
@ -1162,10 +1169,17 @@ test.describe('future - desktop', () => {
|
|||
// No meeting materials yet warning badge
|
||||
await expect(eventButtons.locator('.no-meeting-materials')).toBeVisible()
|
||||
}
|
||||
// Notepad button
|
||||
const hedgeDocLink = `https://notes.ietf.org/notes-ietf-${meetingData.meeting.number}-${event.type === 'plenary' ? 'plenary' : event.acronym}`
|
||||
await expect(eventButtons.locator(`#btn-lnk-${event.id}-note`)).toHaveAttribute('href', hedgeDocLink)
|
||||
await expect(eventButtons.locator(`#btn-lnk-${event.id}-note > i.bi`)).toBeVisible()
|
||||
if (event.name.toLowerCase().includes('hackathon')) {
|
||||
// Hackathon Wiki button
|
||||
const hackathonWikiLink = `https://wiki.ietf.org/meeting/${meetingData.meeting.number}/hackathon`
|
||||
await expect(eventButtons.locator(`#btn-lnk-${event.id}-wiki`)).toHaveAttribute('href', hackathonWikiLink)
|
||||
await expect(eventButtons.locator(`#btn-lnk-${event.id}-wiki > i.bi`)).toBeVisible()
|
||||
} else {
|
||||
// Notepad button
|
||||
const hedgeDocLink = `https://notes.ietf.org/notes-ietf-${meetingData.meeting.number}-${event.type === 'plenary' ? 'plenary' : event.acronym}`
|
||||
await expect(eventButtons.locator(`#btn-lnk-${event.id}-note`)).toHaveAttribute('href', hedgeDocLink)
|
||||
await expect(eventButtons.locator(`#btn-lnk-${event.id}-note > i.bi`)).toBeVisible()
|
||||
}
|
||||
// Chat room
|
||||
await expect(eventButtons.locator(`#btn-lnk-${event.id}-room`)).toHaveAttribute('href', event.links.chat)
|
||||
await expect(eventButtons.locator(`#btn-lnk-${event.id}-room > i.bi`)).toBeVisible()
|
||||
|
|
Loading…
Reference in a new issue