attachment
attachment

kindly make the ppt also provide the pdf

Reading File
Reading File
Reading File
Running Command

mkdir -p /home/daytona/workspace/pandemic-module-4.4

Writing File

~/pandemic-module-4.4/create_ppt.js

const pptxgen = require("pptxgenjs");

let pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Pandemic Module 4.4 - Information Management during Pandemics";
pres.author = "GEN MED / PUL MED / ANAES";

// ─── Color Palette ───────────────────────────────────────────────
const DARK_BG    = "0A2342";  // deep navy - dominant
const MID_BG     = "1A3A5C";  // medium navy
const ACCENT     = "E8A020";  // amber/gold accent
const LIGHT      = "EEF4FB";  // off-white
const WHITE      = "FFFFFF";
const RED_WARN   = "C0392B";
const TEAL       = "17B0A7";
const LIGHT_BLUE = "5BA4CF";

// ─── SLIDE 1: Title Slide ────────────────────────────────────────
{
  let sl = pres.addSlide();
  // Dark navy background
  sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: DARK_BG } });
  // Amber accent bar left
  sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.18, h: 5.625, fill: { color: ACCENT } });
  // Bottom accent strip
  sl.addShape(pres.ShapeType.rect, { x: 0, y: 5.15, w: 10, h: 0.475, fill: { color: MID_BG } });

  // Module tag
  sl.addText("GEN MED / PUL MED / ANAES", {
    x: 0.4, y: 0.3, w: 9, h: 0.4,
    fontSize: 11, color: ACCENT, bold: true, charSpacing: 3,
  });

  // Main title
  sl.addText("PANDEMIC", {
    x: 0.4, y: 0.85, w: 9.2, h: 1.0,
    fontSize: 60, color: WHITE, bold: true, charSpacing: 6,
  });
  sl.addText("MODULE 4.4", {
    x: 0.4, y: 1.75, w: 9.2, h: 0.75,
    fontSize: 36, color: ACCENT, bold: true, charSpacing: 4,
  });

  // Subtitle
  sl.addText("Information Management during Pandemics", {
    x: 0.4, y: 2.6, w: 9.2, h: 0.65,
    fontSize: 22, color: LIGHT, italic: false,
  });

  // Divider line
  sl.addShape(pres.ShapeType.line, {
    x: 0.4, y: 3.38, w: 8.8, h: 0,
    line: { color: ACCENT, width: 1.5 },
  });

  // Sub-info
  sl.addText([
    { text: "Duration: ", options: { bold: true, color: ACCENT } },
    { text: "2 Hours  |  ", options: { color: LIGHT } },
    { text: "Format: ", options: { bold: true, color: ACCENT } },
    { text: "Interactive Discussion", options: { color: LIGHT } },
  ], { x: 0.4, y: 3.55, w: 9.2, h: 0.45, fontSize: 14 });

  // Topics listed
  sl.addText([
    { text: "a.  Responding to Media     ", options: { color: WHITE } },
    { text: "b.  Use and Misuse of Social Media for Health-related Messages", options: { color: WHITE } },
  ], {
    x: 0.4, y: 4.1, w: 9.2, h: 0.6,
    fontSize: 12, italic: true, color: LIGHT,
  });
}

// ─── SLIDE 2: Module Overview ────────────────────────────────────
{
  let sl = pres.addSlide();
  sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: LIGHT } });
  sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.1, fill: { color: DARK_BG } });
  sl.addShape(pres.ShapeType.rect, { x: 0, y: 1.1, w: 0.12, h: 4.525, fill: { color: ACCENT } });

  sl.addText("MODULE OVERVIEW", {
    x: 0.35, y: 0.28, w: 9, h: 0.5,
    fontSize: 22, color: WHITE, bold: true, charSpacing: 3,
  });

  // Two boxes
  const boxStyle = { fill: { color: DARK_BG }, rectRadius: 0.12 };
  sl.addShape(pres.ShapeType.roundRect, { x: 0.35, y: 1.3, w: 4.2, h: 3.8, ...boxStyle });
  sl.addShape(pres.ShapeType.roundRect, { x: 5.0, y: 1.3, w: 4.5, h: 3.8, fill: { color: MID_BG }, rectRadius: 0.12 });

  // Box A header
  sl.addShape(pres.ShapeType.rect, { x: 0.35, y: 1.3, w: 4.2, h: 0.5, fill: { color: ACCENT } });
  sl.addText("A.  Responding to Media", {
    x: 0.45, y: 1.35, w: 4.0, h: 0.4,
    fontSize: 13, color: DARK_BG, bold: true,
  });

  sl.addText([
    { text: "• ", options: { bold: true, color: ACCENT } },
    { text: "2-hour interactive discussion session\n", options: { color: WHITE } },
    { text: "• ", options: { bold: true, color: ACCENT } },
    { text: "Communicating effectively during health crises\n", options: { color: WHITE } },
    { text: "• ", options: { bold: true, color: ACCENT } },
    { text: "Press interviews & public statements\n", options: { color: WHITE } },
    { text: "• ", options: { bold: true, color: ACCENT } },
    { text: "Managing difficult questions\n", options: { color: WHITE } },
    { text: "• ", options: { bold: true, color: ACCENT } },
    { text: "Staying on-message during outbreaks", options: { color: WHITE } },
  ], { x: 0.5, y: 1.92, w: 3.85, h: 3.0, fontSize: 12, lineSpacingMultiple: 1.3 });

  // Box B header
  sl.addShape(pres.ShapeType.rect, { x: 5.0, y: 1.3, w: 4.5, h: 0.5, fill: { color: TEAL } });
  sl.addText("B.  Use & Misuse of Social Media", {
    x: 5.1, y: 1.35, w: 4.3, h: 0.4,
    fontSize: 13, color: DARK_BG, bold: true,
  });

  sl.addText([
    { text: "• ", options: { bold: true, color: TEAL } },
    { text: "Social media as public health tool\n", options: { color: WHITE } },
    { text: "• ", options: { bold: true, color: TEAL } },
    { text: "Infodemic & misinformation threats\n", options: { color: WHITE } },
    { text: "• ", options: { bold: true, color: TEAL } },
    { text: "Evidence-based counter-messaging\n", options: { color: WHITE } },
    { text: "• ", options: { bold: true, color: TEAL } },
    { text: "WHO & official guidance platforms\n", options: { color: WHITE } },
    { text: "• ", options: { bold: true, color: TEAL } },
    { text: "Real-time monitoring of narratives", options: { color: WHITE } },
  ], { x: 5.1, y: 1.92, w: 4.2, h: 3.0, fontSize: 12, lineSpacingMultiple: 1.3 });
}

// ─── SLIDE 3: Responding to Media ────────────────────────────────
{
  let sl = pres.addSlide();
  sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: DARK_BG } });
  sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.08, fill: { color: ACCENT } });
  sl.addShape(pres.ShapeType.rect, { x: 0, y: 5.545, w: 10, h: 0.08, fill: { color: ACCENT } });

  sl.addText("A", {
    x: 0.3, y: 0.15, w: 0.7, h: 0.7,
    fontSize: 28, color: ACCENT, bold: true,
  });
  sl.addText("Responding to Media", {
    x: 0.95, y: 0.18, w: 8.7, h: 0.65,
    fontSize: 26, color: WHITE, bold: true,
  });

  sl.addShape(pres.ShapeType.line, { x: 0.3, y: 0.9, w: 9.4, h: 0, line: { color: ACCENT, width: 1 } });

  // 4 content boxes
  const boxes = [
    { x: 0.3, y: 1.1, label: "01", title: "Key Principles", color: ACCENT,
      items: ["Accuracy over speed", "Transparent communication", "Empathy with the public", "Consistent messaging"] },
    { x: 5.15, y: 1.1, label: "02", title: "Press Interview Tips", color: LIGHT_BLUE,
      items: ["Prepare key messages", "Anticipate tough questions", "Avoid jargon", "Cite credible sources"] },
    { x: 0.3, y: 3.2, label: "03", title: "Crisis Communication", color: TEAL,
      items: ["Acknowledge uncertainty honestly", "Update the public regularly", "Use plain language", "Control rumor spread"] },
    { x: 5.15, y: 3.2, label: "04", title: "Do's & Don'ts", color: "E05858",
      items: ["DO: Say 'we don't know yet'", "DO: Reference WHO guidelines", "DON'T: Speculate publicly", "DON'T: Dismiss public fears"] },
  ];

  boxes.forEach(b => {
    sl.addShape(pres.ShapeType.rect, { x: b.x, y: b.y, w: 4.55, h: 1.95, fill: { color: MID_BG } });
    sl.addShape(pres.ShapeType.rect, { x: b.x, y: b.y, w: 0.55, h: 1.95, fill: { color: b.color } });
    sl.addText(b.label, {
      x: b.x, y: b.y + 0.65, w: 0.55, h: 0.6,
      fontSize: 16, color: DARK_BG, bold: true, align: "center",
    });
    sl.addText(b.title, {
      x: b.x + 0.65, y: b.y + 0.1, w: 3.8, h: 0.4,
      fontSize: 13, color: b.color, bold: true,
    });
    sl.addText(b.items.map(i => ({ text: i + "\n", options: { color: WHITE } })), {
      x: b.x + 0.65, y: b.y + 0.52, w: 3.8, h: 1.35,
      fontSize: 10.5, lineSpacingMultiple: 1.25,
    });
  });
}

// ─── SLIDE 4: Social Media - Use ─────────────────────────────────
{
  let sl = pres.addSlide();
  sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: LIGHT } });
  sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.15, fill: { color: MID_BG } });
  sl.addShape(pres.ShapeType.rect, { x: 0, y: 1.15, w: 10, h: 0.07, fill: { color: TEAL } });

  sl.addText("B", { x: 0.3, y: 0.22, w: 0.6, h: 0.55, fontSize: 26, color: TEAL, bold: true });
  sl.addText("Social Media for Health Messages — The BENEFITS", {
    x: 0.9, y: 0.22, w: 8.8, h: 0.55,
    fontSize: 20, color: WHITE, bold: true,
  });

  const cards = [
    { x: 0.3, y: 1.35, icon: "📡", title: "Rapid Dissemination",
      text: "Real-time broadcasting of alerts, guidelines, and updates to millions within minutes." },
    { x: 3.55, y: 1.35, icon: "🌍", title: "Wide Geographic Reach",
      text: "Crosses borders instantly — critical for global pandemic coordination and awareness." },
    { x: 6.8, y: 1.35, icon: "💬", title: "Two-way Engagement",
      text: "Enables dialogue between health authorities and the public to address concerns." },
    { x: 0.3, y: 3.4, icon: "📊", title: "Infodemic Surveillance",
      text: "Monitor trending misinformation and swiftly deploy counter-messaging campaigns." },
    { x: 3.55, y: 3.4, icon: "🏥", title: "Community Mobilization",
      text: "Promote vaccination, PPE use, and health-seeking behavior at scale." },
    { x: 6.8, y: 3.4, icon: "🔔", title: "Early Warning",
      text: "Public reports on symptoms/clusters can alert authorities before official notifications." },
  ];

  cards.forEach(c => {
    sl.addShape(pres.ShapeType.roundRect, {
      x: c.x, y: c.y, w: 3.0, h: 1.85,
      fill: { color: DARK_BG }, rectRadius: 0.1,
    });
    sl.addShape(pres.ShapeType.rect, {
      x: c.x, y: c.y + 1.5, w: 3.0, h: 0.35,
      fill: { color: TEAL },
    });
    sl.addText(c.icon + "  " + c.title, {
      x: c.x + 0.12, y: c.y + 0.08, w: 2.75, h: 0.45,
      fontSize: 12, color: TEAL, bold: true,
    });
    sl.addText(c.text, {
      x: c.x + 0.12, y: c.y + 0.55, w: 2.75, h: 0.92,
      fontSize: 10, color: WHITE, lineSpacingMultiple: 1.2,
    });
  });
}

// ─── SLIDE 5: Social Media - Misuse / Infodemic ───────────────────
{
  let sl = pres.addSlide();
  sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: "1A0A0A" } });
  sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.07, fill: { color: RED_WARN } });
  sl.addShape(pres.ShapeType.rect, { x: 0, y: 5.555, w: 10, h: 0.07, fill: { color: RED_WARN } });

  sl.addText("⚠  Misuse of Social Media — The RISKS", {
    x: 0.3, y: 0.15, w: 9.4, h: 0.6,
    fontSize: 22, color: RED_WARN, bold: true,
  });
  sl.addShape(pres.ShapeType.line, { x: 0.3, y: 0.82, w: 9.4, h: 0, line: { color: RED_WARN, width: 1 } });

  // Sub-heading
  sl.addText("Infodemics — An Epidemic of Misinformation", {
    x: 0.3, y: 0.88, w: 9.4, h: 0.4,
    fontSize: 14, color: ACCENT, italic: true,
  });

  // Risk items
  const risks = [
    { num: "01", title: "Misinformation & Fake Cures",
      detail: "Unverified remedies spread faster than official guidelines, causing harm and delaying proper treatment." },
    { num: "02", title: "Panic & Social Disruption",
      detail: "Exaggerated claims trigger stockpiling, violence, stigma against affected communities." },
    { num: "03", title: "Vaccine Hesitancy",
      detail: "Anti-vaccine content undermines immunization programs, reducing herd immunity during pandemics." },
    { num: "04", title: "Conspiracy Theories",
      detail: "False origin stories and distrust of authorities hamper response efforts and contact tracing." },
    { num: "05", title: "Information Overload",
      detail: "Volume of conflicting messages leads to confusion, fatigue, and non-compliance with guidelines." },
  ];

  risks.forEach((r, i) => {
    const y = 1.38 + i * 0.77;
    sl.addShape(pres.ShapeType.rect, { x: 0.3, y: y, w: 9.4, h: 0.65, fill: { color: "2A0F0F" } });
    sl.addShape(pres.ShapeType.rect, { x: 0.3, y: y, w: 0.6, h: 0.65, fill: { color: RED_WARN } });
    sl.addText(r.num, { x: 0.3, y: y + 0.12, w: 0.6, h: 0.4, fontSize: 14, color: WHITE, bold: true, align: "center" });
    sl.addText(r.title, { x: 1.05, y: y + 0.04, w: 3.2, h: 0.3, fontSize: 12, color: RED_WARN, bold: true });
    sl.addText(r.detail, { x: 1.05, y: y + 0.32, w: 8.4, h: 0.3, fontSize: 10.5, color: LIGHT });
  });
}

// ─── SLIDE 6: Strategies to Combat Infodemic ─────────────────────
{
  let sl = pres.addSlide();
  sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: DARK_BG } });
  sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 3.5, h: 5.625, fill: { color: MID_BG } });
  sl.addShape(pres.ShapeType.rect, { x: 3.5, y: 0, w: 0.07, h: 5.625, fill: { color: ACCENT } });

  sl.addText("Strategies to\nCombat\nInfodemic", {
    x: 0.25, y: 0.3, w: 3.1, h: 1.8,
    fontSize: 24, color: WHITE, bold: true, lineSpacingMultiple: 1.3,
  });

  sl.addShape(pres.ShapeType.line, { x: 0.25, y: 2.1, w: 2.8, h: 0, line: { color: ACCENT, width: 1 } });

  sl.addText([
    { text: "WHO & health authorities\n", options: { color: ACCENT, bold: true } },
    { text: "must lead the narrative\n\n", options: { color: LIGHT } },
    { text: "Format: ", options: { color: TEAL, bold: true } },
    { text: "Interactive\nDiscussion", options: { color: LIGHT } },
  ], { x: 0.25, y: 2.2, w: 3.0, h: 2.9, fontSize: 12, lineSpacingMultiple: 1.3 });

  const strategies = [
    { icon: "✅", title: "Prebunking", text: "Educate populations about misinformation tactics before exposure." },
    { icon: "🔍", title: "Fact-Checking Networks", text: "Partner with journalists and WHO myth-busters for rapid rebuttals." },
    { icon: "📢", title: "Amplify Trusted Voices", text: "Healthcare workers, community leaders, and influencers share verified info." },
    { icon: "🤝", title: "Platform Collaboration", text: "Engage social media platforms to label, remove, or down-rank false content." },
    { icon: "📱", title: "Digital Literacy", text: "Train citizens to identify credible health sources and spot fake news." },
  ];

  strategies.forEach((s, i) => {
    const y = 0.25 + i * 1.02;
    sl.addText(s.icon, { x: 3.75, y: y, w: 0.55, h: 0.5, fontSize: 22, align: "center" });
    sl.addText(s.title, { x: 4.35, y: y, w: 5.4, h: 0.38, fontSize: 13, color: ACCENT, bold: true });
    sl.addText(s.text, { x: 4.35, y: y + 0.38, w: 5.4, h: 0.55, fontSize: 11, color: LIGHT, lineSpacingMultiple: 1.2 });
    if (i < strategies.length - 1) {
      sl.addShape(pres.ShapeType.line, {
        x: 3.75, y: y + 0.98, w: 5.95, h: 0,
        line: { color: "2A3D5A", width: 0.75 },
      });
    }
  });
}

// ─── SLIDE 7: Role of Health Professionals ───────────────────────
{
  let sl = pres.addSlide();
  sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: LIGHT } });
  sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.2, fill: { color: DARK_BG } });
  sl.addShape(pres.ShapeType.rect, { x: 0, y: 1.2, w: 10, h: 0.07, fill: { color: TEAL } });

  sl.addText("Role of Health Professionals in Pandemic Communication", {
    x: 0.3, y: 0.28, w: 9.4, h: 0.6,
    fontSize: 20, color: WHITE, bold: true,
  });

  // 3 column layout
  const cols = [
    {
      x: 0.25, color: ACCENT, title: "Clinicians & Doctors",
      items: [
        "Serve as trusted messengers",
        "Counter patient misinformation",
        "Use evidence-based talking points",
        "Engage media when appropriate",
        "Maintain public trust",
      ]
    },
    {
      x: 3.55, color: TEAL, title: "Public Health Officers",
      items: [
        "Coordinate official messaging",
        "Conduct daily press briefings",
        "Monitor social media for rumors",
        "Issue timely corrections",
        "Collaborate with WHO/MOH",
      ]
    },
    {
      x: 6.85, color: LIGHT_BLUE, title: "Nurses & Allied Health",
      items: [
        "Front-line patient education",
        "Address vaccine hesitancy",
        "Distribute fact sheets",
        "Community health messaging",
        "Report misconceptions upward",
      ]
    },
  ];

  cols.forEach(c => {
    sl.addShape(pres.ShapeType.roundRect, {
      x: c.x, y: 1.4, w: 3.05, h: 3.95,
      fill: { color: DARK_BG }, rectRadius: 0.1,
    });
    sl.addShape(pres.ShapeType.rect, { x: c.x, y: 1.4, w: 3.05, h: 0.52, fill: { color: c.color } });
    sl.addText(c.title, {
      x: c.x + 0.1, y: 1.43, w: 2.85, h: 0.45,
      fontSize: 12.5, color: DARK_BG, bold: true,
    });
    sl.addText(c.items.map(item => ({
      text: "▸  " + item + "\n",
      options: { color: WHITE },
    })), {
      x: c.x + 0.1, y: 2.05, w: 2.85, h: 3.15,
      fontSize: 11, lineSpacingMultiple: 1.35,
    });
  });
}

// ─── SLIDE 8: WHO Communication Framework ────────────────────────
{
  let sl = pres.addSlide();
  sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: DARK_BG } });
  sl.addShape(pres.ShapeType.rect, { x: 4.5, y: 0, w: 5.5, h: 5.625, fill: { color: MID_BG } });
  sl.addShape(pres.ShapeType.rect, { x: 4.5, y: 0, w: 0.07, h: 5.625, fill: { color: TEAL } });

  sl.addText("WHO Risk\nCommunication\nFramework", {
    x: 0.3, y: 0.5, w: 4.0, h: 2.0,
    fontSize: 26, color: WHITE, bold: true, lineSpacingMultiple: 1.25,
  });

  sl.addText("Applied in Pandemic Contexts", {
    x: 0.3, y: 2.55, w: 4.0, h: 0.4,
    fontSize: 13, color: TEAL, italic: true,
  });

  sl.addShape(pres.ShapeType.line, {
    x: 0.3, y: 3.05, w: 3.8, h: 0,
    line: { color: ACCENT, width: 1 },
  });

  sl.addText([
    { text: "Build trust early.\n", options: { color: ACCENT, bold: true } },
    { text: "Acknowledge uncertainty.\n", options: { color: WHITE } },
    { text: "Be consistent and transparent.\n", options: { color: WHITE } },
    { text: "Listen and respond to concerns.", options: { color: WHITE } },
  ], { x: 0.3, y: 3.18, w: 3.9, h: 1.9, fontSize: 12.5, lineSpacingMultiple: 1.4 });

  const steps = [
    { step: "1", title: "Announce Early", detail: "Communicate before full information is available — uncertainty is OK." },
    { step: "2", title: "Be Transparent", detail: "Share what is known, unknown, and what is being done." },
    { step: "3", title: "Show Respect", detail: "Acknowledge public fears; avoid dismissing or minimizing concerns." },
    { step: "4", title: "Build Partnerships", detail: "Work with media, civil society, and influencers as communication allies." },
    { step: "5", title: "Listen & Learn", detail: "Two-way communication: monitor feedback and adjust messaging." },
  ];

  steps.forEach((s, i) => {
    const y = 0.2 + i * 1.0;
    sl.addShape(pres.ShapeType.ellipse, {
      x: 4.75, y: y + 0.15, w: 0.5, h: 0.5,
      fill: { color: TEAL },
    });
    sl.addText(s.step, {
      x: 4.75, y: y + 0.18, w: 0.5, h: 0.42,
      fontSize: 14, color: DARK_BG, bold: true, align: "center",
    });
    sl.addText(s.title, { x: 5.45, y: y + 0.06, w: 3.9, h: 0.35, fontSize: 13, color: TEAL, bold: true });
    sl.addText(s.detail, { x: 5.45, y: y + 0.41, w: 3.9, h: 0.48, fontSize: 10.5, color: LIGHT });
  });
}

// ─── SLIDE 9: Summary & Key Takeaways ────────────────────────────
{
  let sl = pres.addSlide();
  sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: DARK_BG } });
  sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.08, fill: { color: ACCENT } });
  sl.addShape(pres.ShapeType.rect, { x: 0, y: 5.545, w: 10, h: 0.08, fill: { color: ACCENT } });
  sl.addShape(pres.ShapeType.rect, { x: 4.85, y: 0.08, w: 5.15, h: 5.465, fill: { color: MID_BG } });

  sl.addText("Key Takeaways", {
    x: 0.3, y: 0.15, w: 4.35, h: 0.65,
    fontSize: 24, color: WHITE, bold: true,
  });
  sl.addShape(pres.ShapeType.line, {
    x: 0.3, y: 0.82, w: 4.2, h: 0,
    line: { color: ACCENT, width: 1 },
  });

  const takeaways = [
    { n: "1", t: "Accurate, timely communication saves lives." },
    { n: "2", t: "Media engagement requires preparation and clear messaging." },
    { n: "3", t: "Social media is a double-edged tool in pandemic response." },
    { n: "4", t: "Infodemics can be as dangerous as the disease itself." },
    { n: "5", t: "Health professionals are frontline communicators." },
    { n: "6", t: "WHO frameworks provide structured guidance for crisis comms." },
  ];

  takeaways.forEach((tk, i) => {
    const y = 1.0 + i * 0.72;
    sl.addShape(pres.ShapeType.ellipse, { x: 0.3, y: y, w: 0.42, h: 0.42, fill: { color: ACCENT } });
    sl.addText(tk.n, { x: 0.3, y: y + 0.03, w: 0.42, h: 0.36, fontSize: 14, color: DARK_BG, bold: true, align: "center" });
    sl.addText(tk.t, { x: 0.88, y: y + 0.04, w: 3.8, h: 0.4, fontSize: 11.5, color: WHITE });
  });

  // Right panel
  sl.addText("Discussion Points", {
    x: 5.05, y: 0.2, w: 4.7, h: 0.5,
    fontSize: 18, color: TEAL, bold: true,
  });
  sl.addShape(pres.ShapeType.line, {
    x: 5.05, y: 0.72, w: 4.7, h: 0,
    line: { color: TEAL, width: 1 },
  });

  const questions = [
    "What challenges do HCWs face when responding to media in a crisis?",
    "How can we distinguish reliable health information on social media?",
    "What role do emotions play in how people share pandemic content?",
    "How should hospitals prepare a 'communication protocol' for pandemics?",
    "Give examples of successful vs. harmful pandemic social media campaigns.",
  ];

  questions.forEach((q, i) => {
    const y = 0.88 + i * 0.91;
    sl.addShape(pres.ShapeType.rect, { x: 5.05, y: y, w: 4.7, h: 0.78, fill: { color: "132A44" } });
    sl.addShape(pres.ShapeType.rect, { x: 5.05, y: y, w: 0.1, h: 0.78, fill: { color: TEAL } });
    sl.addText("Q" + (i + 1) + ": " + q, {
      x: 5.3, y: y + 0.06, w: 4.35, h: 0.66,
      fontSize: 10, color: LIGHT, lineSpacingMultiple: 1.2,
    });
  });
}

// ─── SLIDE 10: Thank You ──────────────────────────────────────────
{
  let sl = pres.addSlide();
  sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: DARK_BG } });
  sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.1, fill: { color: ACCENT } });
  sl.addShape(pres.ShapeType.rect, { x: 0, y: 5.525, w: 10, h: 0.1, fill: { color: ACCENT } });

  // Large circle background
  sl.addShape(pres.ShapeType.ellipse, {
    x: 3.2, y: 0.7, w: 3.6, h: 3.6,
    fill: { color: MID_BG }, line: { color: ACCENT, width: 2 },
  });

  sl.addText("Thank You", {
    x: 3.2, y: 1.55, w: 3.6, h: 1.0,
    fontSize: 32, color: WHITE, bold: true, align: "center",
  });

  sl.addShape(pres.ShapeType.line, {
    x: 3.6, y: 2.7, w: 2.8, h: 0,
    line: { color: ACCENT, width: 1.5 },
  });

  sl.addText("Pandemic Module 4.4", {
    x: 3.2, y: 2.85, w: 3.6, h: 0.45,
    fontSize: 14, color: TEAL, align: "center",
  });

  sl.addText("Information Management during Pandemics", {
    x: 0.5, y: 4.45, w: 9, h: 0.45,
    fontSize: 14, color: LIGHT, align: "center",
  });
  sl.addText("GEN MED / PUL MED / ANAES", {
    x: 0.5, y: 4.92, w: 9, h: 0.38,
    fontSize: 11, color: ACCENT, align: "center", charSpacing: 2,
  });
}

// ─── Write File ───────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/pandemic-module-4.4/Pandemic_Module_4.4.pptx" })
  .then(() => console.log("PPT created successfully!"))
  .catch(err => console.error("Error:", err));
Running Command

cd /home/daytona/workspace/pandemic-module-4.4 && node create_ppt.js

Running Command

libreoffice --headless --convert-to pdf "/home/daytona/workspace/pandemic-module…

Running Command

libreoffice --headless --convert-to pdf "/home/daytona/workspace/pandemic-module…

Running Command

ls -lh /home/daytona/workspace/pandemic-module-4.4/

Both files are ready for download:

Pandemic Module 4.4 - Information Management during Pandemics

Pandemic Module 4.4

Presentation · PPTX

Pandemic Module 4.4

PDF Document · PDF


The presentation contains 10 slides with a professional deep navy + amber/gold color palette:
SlideContent
1Title Slide - Module 4.4 branding, duration, format
2Module Overview - Topics A & B side by side
3Responding to Media - Key principles, press tips, crisis comms, do's & don'ts
4Social Media Benefits - 6 benefit cards (rapid dissemination, reach, engagement, etc.)
5Social Media Risks / Infodemic - 5 risk categories with red warning theme
6Strategies to Combat Infodemic - prebunking, fact-checking, platform collaboration
7Role of Health Professionals - Clinicians, Public Health Officers, Nurses
8WHO Risk Communication Framework - 5-step model
9Key Takeaways + Discussion Questions for interactive session
10Thank You slide

i am not able to download the above file

Running Command

ls -lh /home/daytona/workspace/pandemic-module-4.4/ && echo "Files OK"

The files exist in the sandbox. The download links below should work - try clicking directly on the filenames:
PowerPoint:

Pandemic Module 4.4

Presentation · PPTX

PDF:

Pandemic Module 4.4

PDF Document · PDF


If those still don't work, here are a few things to try:
  1. Right-click the link and choose "Save link as..." or "Download linked file"
  2. Try a different browser - Chrome or Edge tend to handle sandbox downloads best
  3. Check if you're on mobile - some mobile browsers block sandbox file downloads; try on desktop
If none of those work, let me know and I can:
  • Convert the content into an email-friendly format you can copy
  • Re-create it as a Google Slides-compatible export
  • Generate slide-by-slide images you can save directly
This is a shared conversation. Sign in to Orris to start your own chat.