#!/usr/bin/env python3
"""
Creates v4 versions of both docs with:
1. Light Lobster Press image as final page
2. (Tuckerton Working Notes only) ACTION CARD updates from Morning Joe's Rundown
"""

import copy
from docx import Document
from docx.shared import Inches, Pt, RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.oxml.ns import qn
from docx.oxml import OxmlElement
import os

WS = "/Users/joemac/.openclaw/workspace"
IMG = os.path.join(WS, "projects/lobster-press-overview-light.png")
CAPTION = "The Lobster Press — Visual Overview (Print Version)"

def add_image_page(doc, img_path, caption_text):
    """Add a page break, centered image, and caption as last page."""
    # Page break
    from docx.enum.text import WD_BREAK
    pg_break = doc.add_paragraph()
    run = pg_break.add_run()
    run.add_break(WD_BREAK.PAGE)

    # Image paragraph (centered)
    img_para = doc.add_paragraph()
    img_para.alignment = WD_ALIGN_PARAGRAPH.CENTER
    run = img_para.add_run()
    run.add_picture(img_path, width=Inches(6.0))

    # Caption
    cap_para = doc.add_paragraph()
    cap_para.alignment = WD_ALIGN_PARAGRAPH.CENTER
    cap_run = cap_para.add_run(caption_text)
    cap_run.italic = True
    cap_run.font.size = Pt(9)
    cap_run.font.color.rgb = RGBColor(0x55, 0x55, 0x55)

    return doc


def add_break_type(run, break_type='page'):
    """Add a page break to a run."""
    br = OxmlElement('w:br')
    br.set(qn('w:type'), break_type)
    run._r.append(br)


# ─── ROB ACTION #1 (both docs) ────────────────────────────────────────────────

# 1a. Tuckerton Working Notes v3 → v4 (image + ACTION CARD updates applied after)
src1 = os.path.join(WS, "projects/Tuckerton_Group_2026_Goals_Working_April7_v3.docx")
dst1 = os.path.join(WS, "projects/Tuckerton_Group_2026_Goals_Working_April7_v4.docx")

doc1 = Document(src1)

# ─── ROB ACTION #2 — ACTION CARD UPDATES ─────────────────────────────────────
# Insert an "ACTION CARD UPDATES" section before the final image page

DONE_ITEMS = [
    "Switch back to Claude Max $200/mo plan",
    "Reach out to Frank Capecci (neighbor, 12th St) — 973-229-9362",
    "Neal/Denise — contractor prospect calls: Amon + Pagnotta",
    "Haastrotters Boatyard — research status",
    "Property tax appeal research — Chesterfield",
]

CAPS_ADDITIONS = {
    "Gio — $225 cash": "TEXT TOMMY TO SEE IF HE CUT CHECK",
    "truck key rings": "WAITING ON LJ",
    "Brother Matt": "WARN MATT FUNDS WILL BE NEEDED",
}

# Add separator
sep = doc1.add_paragraph("─" * 65)
sep.alignment = WD_ALIGN_PARAGRAPH.CENTER

# Section heading
heading = doc1.add_paragraph("ACTION CARD — UPDATES (April 7, 2026)")
heading.style = doc1.styles['Heading 1']
heading.alignment = WD_ALIGN_PARAGRAPH.LEFT

# Sub-heading: Completed items
sub1 = doc1.add_paragraph()
sub1_run = sub1.add_run("✅  COMPLETED / DONE ITEMS")
sub1_run.bold = True
sub1_run.font.size = Pt(11)

for item in DONE_ITEMS:
    p = doc1.add_paragraph(style='List Paragraph')
    run = p.add_run(f"DONE: {item}")
    run.font.strike = True   # strikethrough
    run.font.color.rgb = RGBColor(0x55, 0x55, 0x55)

# Sub-heading: New notes / caps additions
sub2 = doc1.add_paragraph()
sub2.add_run()  # spacer
sub2 = doc1.add_paragraph()
sub2_run = sub2.add_run("📝  NEW NOTES / UPDATES")
sub2_run.bold = True
sub2_run.font.size = Pt(11)

caps_data = [
    ("Gio — $225 cash owed (driveway at parents' house)", "TEXT TOMMY TO SEE IF HE CUT CHECK"),
    ("Organize truck key rings — 5 rings: Firehouse, TD Banks, Truist, Surf City, Tuckerton", "WAITING ON LJ"),
    ("Brother Matt — property co-ownership / fair buyout discussion", "WARN MATT FUNDS WILL BE NEEDED"),
]

for task, note in caps_data:
    p = doc1.add_paragraph(style='List Paragraph')
    p.add_run(f"☐  {task}").bold = False
    # Sub-note indented
    sub = doc1.add_paragraph(style='List Paragraph')
    sub.paragraph_format.left_indent = Inches(0.5)
    nr = sub.add_run(f"↳  {note}")
    nr.bold = True
    nr.font.color.rgb = RGBColor(0xC0, 0x00, 0x00)

# Now add image page
add_image_page(doc1, IMG, CAPTION)
doc1.save(dst1)
print(f"✅  Saved: {dst1}")


# 1b. Social Media SOP v3 → v4 (image only)
src2 = os.path.join(WS, "projects/social-media/social-media-sop-v3.docx")
dst2 = os.path.join(WS, "projects/social-media/social-media-sop-v4.docx")

doc2 = Document(src2)
add_image_page(doc2, IMG, CAPTION)
doc2.save(dst2)
print(f"✅  Saved: {dst2}")

print("\nAll done. Both v4 files created successfully.")
