Hantavirus Cruise Ship 2026: Symptoms, Risk & What You Need | Full Wealth Today

  {/* Alert banner */}
  <div style={{ background: "#FAECE7", border: "1px solid #F0997B", borderRadius: 6, padding: "10px 16px", marginBottom: "1.5rem", display: "flex", gap: 10, alignItems: "flex-start" }}>
    <span style={{ fontSize: 18, flexShrink: 0 }}>🚨</span>
    <div style={{ fontSize: 13, color: "#712B13", lineHeight: 1.5, fontFamily: "monospace" }}>
      <strong>Live Outbreak Data (May 9, 2026):</strong> 8 confirmed/suspected cases · 3 deaths confirmed · MV Hondius en route to Tenerife · Patients in 6+ countries · CDC monitoring 5 U.S. states
    </div>
  </div>

  {/* Tabs */}
  <div style={{ display: "flex", gap: 4, marginBottom: "1.5rem", borderBottom: "1px solid #ddd", flexWrap: "wrap" }}>
    {tabs.map((tab, i) => {
      const tc = tagColors[tab];
      return (
        <button
          key={tab}
          onClick={() => setActiveTab(i)}
          style={{
            padding: "8px 16px",
            fontSize: 13,
            fontFamily: "monospace",
            fontWeight: activeTab === i ? 700 : 400,
            border: "none",
            borderBottom: activeTab === i ? `3px solid ${tc.border}` : "3px solid transparent",
            background: activeTab === i ? tc.bg : "transparent",
            color: activeTab === i ? tc.text : "#666",
            cursor: "pointer",
            borderRadius: "4px 4px 0 0",
            transition: "all 0.15s",
          }}
        >
          {tab}
        </button>
      );
    })}
  </div>

  {/* TAB 0: Article */}
  {activeTab === 0 && (
    <div>
      <div style={{ display: "flex", justifyContent: "space-between", alignItems: "center", marginBottom: 16 }}>
        <div>
          <span style={{ fontSize: 11, fontFamily: "monospace", color: "#888", textTransform: "uppercase", letterSpacing: 1 }}>Content · Markdown/HTML · ~1,350 words · 6 min read</span>
        </div>
        <button
          onClick={() => copyToClipboard(articleContent, "article")}
          style={{ padding: "6px 14px", fontSize: 12, fontFamily: "monospace", background: copied === "article" ? "#EAF3DE" : "#111", color: copied === "article" ? "#27500A" : "#fff", border: "none", borderRadius: 4, cursor: "pointer" }}
        >
          {copied === "article" ? "✓ Copied!" : "Copy Markdown"}
        </button>
      </div>
      <div style={{ background: "#fafaf8", border: "1px solid #e0e0d8", borderRadius: 8, padding: "1.5rem 2rem", lineHeight: 1.75, fontSize: 15, color: "#222" }}>
        {articleContent.split('\n').map((line, i) => {
          if (line.startsWith('# ')) return <h1 key={i} style={{ fontSize: 22, fontWeight: 700, margin: "0 0 1rem", lineHeight: 1.2 }}>{line.slice(2)}</h1>;
          if (line.startsWith('## ')) return <h2 key={i} style={{ fontSize: 18, fontWeight: 700, margin: "1.5rem 0 0.5rem", paddingTop: 8, borderTop: "1px solid #e8e8e0" }}>{line.slice(3)}</h2>;
          if (line.startsWith('### ')) return <h3 key={i} style={{ fontSize: 15, fontWeight: 700, margin: "1rem 0 0.25rem", color: "#444" }}>{line.slice(4)}</h3>;
          if (line === '---') return <hr key={i} style={{ border: "none", borderTop: "1px solid #ddd", margin: "1.5rem 0" }} />;
          if (line.startsWith('- ')) return <li key={i} style={{ marginLeft: 20, marginBottom: 4 }}>{line.slice(2)}</li>;
          if (line.trim() === '') return <div key={i} style={{ height: 8 }} />;
          return <p key={i} style={{ margin: "0.5rem 0" }}>{line}</p>;
        })}
      </div>
    </div>
  )}

  {/* TAB 1: Video Script */}
  {activeTab === 1 && (
    <div>
      <div style={{ display: "flex", justifyContent: "space-between", alignItems: "center", marginBottom: 16 }}>
        <span style={{ fontSize: 11, fontFamily: "monospace", color: "#888", textTransform: "uppercase", letterSpacing: 1 }}>~1,500 words · 10 min · Monetization-Ready Structure</span>
        <button
          onClick={() => copyToClipboard(videoScript, "video")}
          style={{ padding: "6px 14px", fontSize: 12, fontFamily: "monospace", background: copied === "video" ? "#EAF3DE" : "#111", color: copied === "video" ? "#27500A" : "#fff", border: "none", borderRadius: 4, cursor: "pointer" }}
        >
          {copied === "video" ? "✓ Copied!" : "Copy Script"}
        </button>
      </div>
      {/* Segment timeline */}
      <div style={{ display: "grid", gridTemplateColumns: "repeat(auto-fit, minmax(140px, 1fr))", gap: 8, marginBottom: 20 }}>
        {[
          { time: "0:00–1:30", label: "INTRO", desc: "High-tension hook", color: "#D85A30", bg: "#FAECE7" },
          { time: "1:30–3:30", label: "SEG 1", desc: "Outbreak Timeline", color: "#BA7517", bg: "#FAEEDA" },
          { time: "3:30–5:30", label: "SEG 2", desc: "What Is This Virus?", color: "#185FA5", bg: "#E6F1FB" },
          { time: "5:30–7:00", label: "SEG 3", desc: "Pandemic Question", color: "#534AB7", bg: "#EEEDFE" },
          { time: "7:00–8:30", label: "SEG 4", desc: "Global Response", color: "#0F6E56", bg: "#E1F5EE" },
          { time: "8:30–9:30", label: "DEEP DIVE", desc: "Exclusive Insight", color: "#993C1D", bg: "#F5C4B3" },
          { time: "9:30–10:00", label: "OUTRO", desc: "CTA + End Screen", color: "#444", bg: "#F1EFE8" },
        ].map(seg => (
          <div key={seg.label} style={{ background: seg.bg, border: `1px solid ${seg.color}33`, borderRadius: 6, padding: "10px 12px" }}>
            <div style={{ fontSize: 10, fontFamily: "monospace", color: seg.color, fontWeight: 700, letterSpacing: 1 }}>{seg.label}</div>
            <div style={{ fontSize: 13, fontWeight: 700, color: "#222", marginTop: 2 }}>{seg.time}</div>
            <div style={{ fontSize: 11, color: "#666", marginTop: 2 }}>{seg.desc}</div>
          </div>
        ))}
      </div>
      <div style={{ background: "#fffef8", border: "1px solid #e8e4c0", borderRadius: 8, padding: "1.5rem 2rem", lineHeight: 1.75, fontSize: 14, color: "#222", fontFamily: "monospace", maxHeight: 520, overflowY: "auto" }}>
        {videoScript.split('\n').map((line, i) => {
          if (line.startsWith('# ')) return <h1 key={i} style={{ fontSize: 18, fontWeight: 700, margin: "0 0 0.5rem", fontFamily: "Georgia, serif" }}>{line.slice(2)}</h1>;
          if (line.startsWith('## ')) return <h2 key={i} style={{ fontSize: 14, fontWeight: 700, margin: "1.5rem 0 0.25rem", color: "#BA7517", borderLeft: "3px solid #EF9F27", paddingLeft: 8 }}>{line.slice(3)}</h2>;
          if (line.startsWith('### ')) return <p key={i} style={{ fontSize: 11, color: "#888", margin: "0 0 8px", fontStyle: "italic" }}>{line.slice(4)}</p>;
          if (line === '---') return <hr key={i} style={{ border: "none", borderTop: "1px solid #e0d8a0", margin: "1rem 0" }} />;
          if (line.startsWith('**[')) return <p key={i} style={{ background: "#1a1a1a", color: "#ffd700", padding: "4px 10px", borderRadius: 4, fontSize: 12, margin: "6px 0", fontStyle: "italic" }}>{line.replace(/\*\*/g, '')}</p>;
          if (line.trim() === '') return <div key={i} style={{ height: 6 }} />;
          return <p key={i} style={{ margin: "4px 0" }}>{line.replace(/\*\*/g, '')}</p>;
        })}
      </div>
    </div>
  )}

  {/* TAB 2: Shorts */}
  {activeTab === 2 && (
    <div style={{ display: "flex", flexDirection: "column", gap: 20 }}>
      {shortsContent.map(clip => (
        <div key={clip.id} style={{ border: `1px solid ${clip.color}44`, borderRadius: 10, overflow: "hidden" }}>
          {/* Clip header */}
          <div style={{ background: clip.bg, borderBottom: `1px solid ${clip.color}44`, padding: "12px 18px", display: "flex", justifyContent: "space-between", alignItems: "center" }}>
            <div>
              <div style={{ display: "flex", gap: 8, alignItems: "center" }}>
                <span style={{ background: clip.color, color: "#fff", fontSize: 10, fontFamily: "monospace", fontWeight: 700, padding: "2px 8px", borderRadius: 3, letterSpacing: 1 }}>{clip.label}</span>
                <span style={{ fontSize: 13, fontWeight: 700, color: clip.color, fontFamily: "monospace" }}>{clip.tag}</span>
                <span style={{ fontSize: 11, color: "#888", fontFamily: "monospace" }}>⏱ {clip.duration}</span>
              </div>
              <p style={{ margin: "6px 0 0", fontSize: 13, color: "#333", fontStyle: "italic", lineHeight: 1.4 }}>Hook: {clip.hook}</p>
            </div>
            <button
              onClick={() => copyToClipboard(clip.script, `clip-${clip.id}`)}
              style={{ padding: "5px 12px", fontSize: 11, fontFamily: "monospace", background: copied === `clip-${clip.id}` ? "#EAF3DE" : clip.color, color: "#fff", border: "none", borderRadius: 4, cursor: "pointer", flexShrink: 0 }}
            >
              {copied === `clip-${clip.id}` ? "✓ Copied!" : "Copy Script"}
            </button>
          </div>
          {/* On-screen text */}
          <div style={{ padding: "12px 18px", background: "#1a1a1a", borderBottom: `1px solid ${clip.color}44` }}>
            <div style={{ fontSize: 10, fontFamily: "monospace", color: "#888", marginBottom: 6, textTransform: "uppercase", letterSpacing: 1 }}>On-Screen Text Overlays</div>
            <div style={{ display: "flex", flexWrap: "wrap", gap: 6 }}>
              {clip.onScreen.map((text, i) => (
                <span key={i} style={{ background: "#333", color: "#ffd700", fontSize: 11, fontFamily: "monospace", padding: "3px 8px", borderRadius: 3 }}>"{text}"</span>
              ))}
            </div>
          </div>
          {/* Script */}
          <div style={{ padding: "14px 18px", background: "#fafaf8", maxHeight: 260, overflowY: "auto" }}>
            <div style={{ fontSize: 11, fontFamily: "monospace", color: "#888", marginBottom: 8, textTransform: "uppercase", letterSpacing: 1 }}>Script</div>
            {clip.script.split('\n').map((line, i) => {
              if (line.startsWith('**[')) return <p key={i} style={{ background: "#222", color: "#ffd700", padding: "3px 8px", borderRadius: 3, fontSize: 11, fontFamily: "monospace", margin: "4px 0", fontStyle: "italic" }}>{line.replace(/\*\*/g, '')}</p>;
              if (line.trim() === '') return <div key={i} style={{ height: 4 }} />;
              return <p key={i} style={{ margin: "4px 0", fontSize: 13, lineHeight: 1.5 }}>{line.replace(/\*\*/g, '')}</p>;
            })}
          </div>
          {/* Editor notes */}
          <div style={{ padding: "10px 18px", background: "#F1EFE8", borderTop: `1px solid ${clip.color}33` }}>
            <span style={{ fontSize: 11, fontFamily: "monospace", color: "#5F5E5A" }}>📽️ Editor: {clip.editorNotes}</span>
          </div>
        </div>
      ))}
    </div>
  )}

  {/* TAB 3: Metadata */}
  {activeTab === 3 && (
    <div style={{ display: "grid", gridTemplateColumns: "1fr 1fr", gap: 12 }}>
      {[
        { label: "Title", value: metadata.title },
        { label: "URL Slug", value: metadata.slug },
        { label: "Excerpt", value: metadata.excerpt },
        { label: "Category", value: metadata.category },
        { label: "Tags", value: metadata.tags.join(", ") },
        { label: "Meta Title", value: metadata.metaTitle },
        { label: "Meta Description", value: metadata.metaDescription },
        { label: "Keywords", value: metadata.keywords.join(", ") },
        { label: "Word Count", value: metadata.wordCount },
        { label: "Read Time", value: metadata.readTime },
        { label: "Author", value: metadata.author },
        { label: "Status", value: metadata.status },
      ].map(field => (
        <div key={field.label} style={{ background: "#fafaf8", border: "0.5px solid #ddd", borderRadius: 6, padding: "10px 14px" }}>
          <div style={{ fontSize: 10, fontFamily: "monospace", color: "#888", textTransform: "uppercase", letterSpacing: 1, marginBottom: 4 }}>{field.label}</div>
          <div style={{ fontSize: 13, color: "#222", lineHeight: 1.4, wordBreak: "break-word" }}>{field.value}</div>
          <button
            onClick={() => copyToClipboard(field.value, field.label)}
            style={{ marginTop: 6, padding: "2px 8px", fontSize: 10, fontFamily: "monospace", background: copied === field.label ? "#EAF3DE" : "transparent", color: copied === field.label ? "#27500A" : "#888", border: "0.5px solid #ccc", borderRadius: 3, cursor: "pointer" }}
          >
            {copied === field.label ? "✓" : "Copy"}
          </button>
        </div>
      ))}
      <div style={{ gridColumn: "1 / -1", background: "#EAF3DE", border: "1px solid #97C459", borderRadius: 6, padding: "12px 16px" }}>
        <div style={{ fontSize: 11, fontFamily: "monospace", color: "#3B6D11", fontWeight: 700, marginBottom: 4 }}>✅ CMS READY CHECKLIST</div>
        {["Title & URL Slug ✓", "Excerpt (hook-heavy) ✓", "Full article content in Markdown ✓", "Meta title + description ✓", "Keywords (comma-separated) ✓", "Category assigned ✓", "Author set ✓", "Status: Draft (publish when ready) ✓"].map(item => (
          <div key={item} style={{ fontSize: 12, fontFamily: "monospace", color: "#27500A", padding: "2px 0" }}>{item}</div>
        ))}
      </div>
    </div>
  )}
</div>

);
}

F

Full Wealth Today Editorial

Expert contributor at Full Wealth Today. Covering Federal Reserve policy, personal finance, and wealth-building strategies for the modern investor.