diff --git a/public/images/speakers/AdityaTangirala.jpg b/public/images/speakers/AdityaTangirala.jpg new file mode 100644 index 0000000..524c4a4 Binary files /dev/null and b/public/images/speakers/AdityaTangirala.jpg differ diff --git a/public/images/speakers/ManideepGalala.jpg b/public/images/speakers/ManideepGalala.jpg new file mode 100644 index 0000000..17040b7 Binary files /dev/null and b/public/images/speakers/ManideepGalala.jpg differ diff --git a/src/components/AgendaRenderer.js b/src/components/AgendaRenderer.js index d8b45eb..a81f548 100644 --- a/src/components/AgendaRenderer.js +++ b/src/components/AgendaRenderer.js @@ -293,18 +293,40 @@ export class AgendaRenderer { `; - // Render remaining item (item[3]) if exists + // Render remaining items (items[3] and beyond) if they exist if (section.items.length > 3) { - const remainingWidths = this.calculateBlockPercents( - section.items[3].title, - "", - ); - - itemsHtml += ` -
- ${this.renderAgendaItem(section.items[3], true)} -
- `; + const remainingItems = section.items.slice(3); + const remainingPairs = this.chunkIntoPairs(remainingItems); + + const remainingPairsHtml = remainingPairs + .map((pair) => { + if (pair.length === 2) { + const widths = this.calculateBlockPercents( + pair[0].title, + pair[1].title, + ); + return ` +
+
+ ${this.renderAgendaItem(pair[0])} +
+
+ ${this.renderAgendaItem(pair[1], true)} +
+
+ `; + } else { + // Single item (odd number) + return ` +
+ ${this.renderAgendaItem(pair[0], true)} +
+ `; + } + }) + .join(""); + + itemsHtml += remainingPairsHtml; } } else { // Other sections: pairs layout diff --git a/src/data/agenda.js b/src/data/agenda.js index 00ae523..6b92e39 100644 --- a/src/data/agenda.js +++ b/src/data/agenda.js @@ -17,7 +17,8 @@ export const agendaSections = [ time: "09:30", category: "OpenAPI Summit", title: "Summit Welcome and OpenAPI in the Age of AI", - description: "Welcome to the OpenAPI Summit! We have an exciting program to share, with presentations talking about new specifications as well as presentations that dive into practices, applications, and an outlook of things are going. We also we have a brief look of where OpenAPI is situated in the age of AI and MCP, and how things are going to develop after the recent publication of version 3.2 of the specification.", + description: + "Welcome to the OpenAPI Summit! We have an exciting program to share, with presentations talking about new specifications as well as presentations that dive into practices, applications, and an outlook of things are going. We also we have a brief look of where OpenAPI is situated in the age of AI and MCP, and how things are going to develop after the recent publication of version 3.2 of the specification.", speakers: [ { name: "Erik Wilde", @@ -51,8 +52,7 @@ export const agendaSections = [ id: "3", time: "10:30", category: "OpenAPI Summit", - title: - "What's new in OpenAPI 3.2?", + title: "What's new in OpenAPI 3.2?", description: "Come hear how and when to use the new features of the OpenAPI Specification 3.2! This talk will highlight AI-friendly features such as streaming media, structured tags, and improved examples, among other features. It will also include a brief look at areas we are researching for 3.3.", speakers: [ @@ -95,13 +95,13 @@ export const agendaSections = [ name: "Manideep Galala", job: "Enterprise Systems Architect", company: "Microsoft", - avatar: asset("/images/speakers/Manideep.jpg"), + avatar: asset("/images/speakers/ManideepGalala.jpg"), }, { name: "Aditya Tangirala", job: "Enterprise Systems Engineer", company: "Venmo", - avatar: asset("/images/speakers/Aditya.jpg"), + avatar: asset("/images/speakers/AdityaTangirala.jpg"), }, ], },