"""
Fashion Content Templates — Canifa Edition
Ported & adapted từ BrightBean Studio apps/composer/builtin_templates.py (968 lines, 161 templates)
Đã customize cho fashion/e-commerce vertical + thêm template tiếng Việt cho Canifa
"""

# Six rotating accent colors
COLORS = [
    "255, 203, 49",   # yellow
    "218, 255, 53",   # lime
    "99, 117, 255",   # indigo
    "248, 149, 151",  # pink
    "87, 152, 255",   # blue
    "59, 252, 255",   # cyan
]

CATEGORIES = [
    {"slug": "all",             "label": "Tất cả",          "icon": "layout-grid"},
    {"slug": "outfit",          "label": "Outfit Ideas",    "icon": "shirt"},
    {"slug": "product",         "label": "Sản phẩm",        "icon": "shopping-bag"},
    {"slug": "seasonal",        "label": "Theo mùa",        "icon": "sun"},
    {"slug": "style-tip",       "label": "Tip Phong cách",  "icon": "lightbulb"},
    {"slug": "behind-scenes",   "label": "Hậu trường",      "icon": "clapperboard"},
    {"slug": "engagement",      "label": "Tương tác",       "icon": "message-circle"},
    {"slug": "promotion",       "label": "Khuyến mãi",      "icon": "tag"},
    {"slug": "story",           "label": "Câu chuyện",      "icon": "book-open"},
]

FEATURED_IDS = [1, 10, 20, 31, 40]

TEMPLATES = [
    # ─── OUTFIT IDEAS ─────────────────────────────────────────────────────────
    {
        "id": 1,
        "emoji": "👗",
        "title": "Gợi ý phối đồ theo dáng người",
        "description": "Hướng dẫn phối đồ tôn dáng cho từng vóc người — nội dung giá trị giúp tăng engagement cao.",
        "body": "{{Dáng người: hình quả lê / đồng hồ cát / chữ H / táo}} thì nên mặc gì?\n\n✅ NÊN chọn:\n• {{item 1 tôn dáng}}\n• {{item 2 tôn dáng}}\n• {{item 3 tôn dáng}}\n\n❌ Nên tránh:\n• {{item không phù hợp 1}}\n• {{item không phù hợp 2}}\n\nCanifa gợi ý cho bạn: {{tên sản phẩm}} — link in bio 👆",
        "tags": ["Outfit", "Style Tips", "Body Positive"],
        "category": "outfit",
        "color": COLORS[0],
    },
    {
        "id": 2,
        "emoji": "🌈",
        "title": "Phối màu cơ bản không bao giờ sai",
        "description": "Hướng dẫn phối màu an toàn — content evergreen luôn có lượt lưu cao.",
        "body": "Quy tắc phối màu {{màu chủ đạo}} mà ai cũng nên biết:\n\n🎨 Màu trung tính kết hợp tốt với:\n{{màu 1}} · {{màu 2}} · {{màu 3}}\n\n💡 Tip Canifa:\nSet {{tên outfit}} của chúng mình đang áp dụng đúng nguyên tắc này — đẹp mà không cần nghĩ nhiều!\n\n#PhốiMàu #StyleTips #CanifaStyle",
        "tags": ["Color Theory", "Style Tips"],
        "category": "outfit",
        "color": COLORS[1],
    },
    {
        "id": 3,
        "emoji": "👔",
        "title": "1 item mặc được 3 kiểu",
        "description": "Prove versatility của sản phẩm — nội dung cao giá trị, khuyến khích purchase.",
        "body": "{{Tên sản phẩm}} — mặc được {{N}} cách khác nhau!\n\nCách 1 — {{dịp/phong cách}}: {{mô tả outfit}}\nCách 2 — {{dịp/phong cách}}: {{mô tả outfit}}\nCách 3 — {{dịp/phong cách}}: {{mô tả outfit}}\n\nMột item, nhiều lần mặc. Đó mới là mua thông minh 💡\n\nShop ngay: {{link}} hoặc tìm tại cửa hàng Canifa gần bạn nhất.",
        "tags": ["Versatile", "Smart Shopping"],
        "category": "outfit",
        "color": COLORS[2],
    },
    {
        "id": 4,
        "emoji": "🗓️",
        "title": "Outfit theo ngày trong tuần",
        "description": "Series nội dung liên tục theo tuần — dễ tạo, engagement ổn định.",
        "body": "{{Thứ}} outfit của chúng mình 📅\n\nHôm nay {{thời tiết/sự kiện}}, set đồ Canifa:\n• Top: {{tên sản phẩm + màu sắc}}\n• Bottom: {{tên sản phẩm + màu sắc}}\n• Phụ kiện: {{phụ kiện nếu có}}\n\nTổng giá trị set: {{giá}} — Canifa price, real style ✨\n\nBạn thường mặc gì vào {{thứ}}? Comment bên dưới nhé!",
        "tags": ["Weekly Outfit", "Daily Style"],
        "category": "outfit",
        "color": COLORS[3],
    },
    {
        "id": 5,
        "emoji": "⚖️",
        "title": "Casual vs Formal — Cùng 1 item",
        "description": "So sánh trực quan — format before/after luôn viral tốt.",
        "body": "{{Tên sản phẩm}} mặc casual vs formal — ai ngờ cùng 1 item!\n\n👕 CASUAL:\n{{mô tả phối casual + ảnh trái}}\n\n👔 FORMAL:\n{{mô tả phối formal + ảnh phải}}\n\nBí quyết? {{tip styling key}}\n\nCanifa {{tên sản phẩm}} hiện đang có tại: {{link/cửa hàng}}",
        "tags": ["Before After", "Styling"],
        "category": "outfit",
        "color": COLORS[4],
    },

    # ─── PRODUCT SHOWCASE ─────────────────────────────────────────────────────
    {
        "id": 10,
        "emoji": "✨",
        "title": "Ra mắt sản phẩm mới",
        "description": "Template announce product launch — tạo hype và FOMO.",
        "body": "🆕 JUST DROPPED: {{Tên sản phẩm}}\n\nSau {{thời gian}} nghiên cứu & phát triển, chúng mình tự hào giới thiệu {{mô tả ngắn}}.\n\nĐiểm highlight:\n🔹 {{feature 1}}\n🔹 {{feature 2}}\n🔹 {{feature 3}}\n\nHave tại: {{màu sắc/size available}}\nGiá: {{giá}}\n\nSẵn sàng có mặt từ {{ngày}} — link in bio để đặt trước!",
        "tags": ["New Arrival", "Product Launch"],
        "category": "product",
        "color": COLORS[5],
    },
    {
        "id": 11,
        "emoji": "🌟",
        "title": "Spotlight sản phẩm bán chạy",
        "description": "Social proof qua bestseller — proof point mạnh cho conversion.",
        "body": "Tại sao {{Tên sản phẩm}} là bestseller của Canifa?\n\nKhách hàng yêu thích vì:\n⭐ {{lý do 1}}\n⭐ {{lý do 2}}\n⭐ {{lý do 3}}\n\n📊 Đã có {{số lượng}} khách hàng chọn mua trong {{khoảng thời gian}}\n\nBạn chưa thử? Còn {{số lượng}} size {{size}} — nhanh kéo link bio!",
        "tags": ["Bestseller", "Social Proof"],
        "category": "product",
        "color": COLORS[0],
    },
    {
        "id": 12,
        "emoji": "🔍",
        "title": "Detail material & chất liệu",
        "description": "Giáo dục khách hàng về chất liệu — build trust cho brand.",
        "body": "Bạn có biết {{Tên sản phẩm}} làm từ chất liệu gì không?\n\n🧵 CHẤT LIỆU: {{tên chất liệu}}\n\nTại sao Canifa chọn chất liệu này?\n✅ {{lợi ích 1}}\n✅ {{lợi ích 2}}\n✅ {{lợi ích 3}}\n\nPhù hợp với thời tiết {{mùa}} Việt Nam — {{lý do cụ thể}}\n\n#ChấtLiệuViệt #CanifaQuality",
        "tags": ["Education", "Quality"],
        "category": "product",
        "color": COLORS[1],
    },
    {
        "id": 13,
        "emoji": "📐",
        "title": "Hướng dẫn chọn size",
        "description": "Size guide — giảm tỷ lệ đổi trả, tăng customer satisfaction.",
        "body": "Chọn size {{Tên sản phẩm}} thế nào cho đúng?\n\n📏 BẢNG SIZE CANIFA:\n| Size | Chiều cao | Cân nặng |\n| {{S}} | {{h-w range}} | {{range}} |\n| {{M}} | {{h-w range}} | {{range}} |\n| {{L}} | {{h-w range}} | {{range}} |\n\n💡 Tip từ Canifa:\n{{lời khuyên chọn size dựa trên dáng người}}\n\nVẫn không chắc? DM chúng mình với số đo của bạn, team sẽ tư vấn free!",
        "tags": ["Size Guide", "Customer Service"],
        "category": "product",
        "color": COLORS[2],
    },

    # ─── SEASONAL ─────────────────────────────────────────────────────────────
    {
        "id": 20,
        "emoji": "☀️",
        "title": "Xu hướng fashion mùa hè",
        "description": "Seasonal trend report — content luôn viral trước mỗi mùa.",
        "body": "{{Năm}} Summer Trends đã đến! 🌊\n\nCanifa dự đoán {{N}} xu hướng hot nhất mùa hè năm nay:\n\n1️⃣ {{trend 1}} — {{mô tả + lý do}}\n2️⃣ {{trend 2}} — {{mô tả + lý do}}\n3️⃣ {{trend 3}} — {{mô tả + lý do}}\n4️⃣ {{trend 4}} — {{mô tả + lý do}}\n\nBạn đang follow trend nào? Comment 1/2/3/4 nhé!\n\n#SummerFashion #TrendAlert #CanifaStyle",
        "tags": ["Trend", "Seasonal"],
        "category": "seasonal",
        "color": COLORS[3],
    },
    {
        "id": 21,
        "emoji": "🍂",
        "title": "Tủ đồ mùa thu cần gì",
        "description": "Wardrobe guide cho mùa — tăng cart value qua cross-sell.",
        "body": "Mùa thu về, tủ đồ của bạn cần bổ sung gì? 🍂\n\nCanifa checklist mùa thu {{năm}}:\n\n☐ {{item 1}} — lý do cần thiết\n☐ {{item 2}} — lý do cần thiết\n☐ {{item 3}} — lý do cần thiết\n☐ {{item 4}} — lý do cần thiết\n☐ {{item 5}} — lý do cần thiết\n\nCanifa có đủ hết — và giá không bao giờ làm bạn shock 😊\nXem collection mùa thu: {{link}}",
        "tags": ["Seasonal", "Checklist"],
        "category": "seasonal",
        "color": COLORS[4],
    },
    {
        "id": 22,
        "emoji": "🎄",
        "title": "Outfit Tết / Giáng sinh",
        "description": "Holiday content — peak season, engagement và sales cao nhất năm.",
        "body": "{{Tết/Giáng sinh}} sắp đến rồi! Bạn đã có outfit chưa? 🎉\n\nCanifa gợi ý cho bạn:\n\n🔴 Cho không khí {{lễ}}: {{set đồ 1}}\n🟡 Đi chơi với gia đình: {{set đồ 2}}\n🟢 Gặp gỡ bạn bè: {{set đồ 3}}\n\nShip trong {{N}} ngày, order ngay để kịp mặc dịp {{lễ}}!\n\nLink order: {{link}} hoặc đến store Canifa gần nhất 🛍️",
        "tags": ["Holiday", "Seasonal", "Festive"],
        "category": "seasonal",
        "color": COLORS[5],
    },

    # ─── STYLE TIPS ───────────────────────────────────────────────────────────
    {
        "id": 30,
        "emoji": "💡",
        "title": "5 lỗi phối đồ phổ biến cần tránh",
        "description": "Negative tips (lỗi cần tránh) — engagement cao hơn tips thông thường.",
        "body": "{{N}} lỗi phối đồ mà hầu hết mọi người mắc phải (bạn có không?) 👇\n\n❌ Lỗi 1: {{mô tả lỗi}} → Cách sửa: {{giải pháp}}\n❌ Lỗi 2: {{mô tả lỗi}} → Cách sửa: {{giải pháp}}\n❌ Lỗi 3: {{mô tả lỗi}} → Cách sửa: {{giải pháp}}\n❌ Lỗi 4: {{mô tả lỗi}} → Cách sửa: {{giải pháp}}\n❌ Lỗi 5: {{mô tả lỗi}} → Cách sửa: {{giải pháp}}\n\nBạn hay mắc lỗi số mấy nhất? 😄\n\n#StyleMistakes #FashionTips #CanifaStyle",
        "tags": ["Tips", "Education", "Engagement"],
        "category": "style-tip",
        "color": COLORS[0],
    },
    {
        "id": 31,
        "emoji": "🎒",
        "title": "Capsule wardrobe tối giản",
        "description": "Minimalist wardrobe content — resonates với Gen Z và Millennials.",
        "body": "Chỉ cần {{N}} items để có tủ đồ đủ mặc cả năm 🧳\n\nCanifa Capsule Wardrobe {{năm}}:\n\n🔹 Basics ({{N}} items): {{danh sách}}\n🔹 Statement pieces ({{N}} items): {{danh sách}}\n🔹 Outerwear ({{N}} items): {{danh sách}}\n🔹 Phụ kiện ({{N}} items): {{danh sách}}\n\nTổng chi phí: ~{{giá}} — đủ mặc {{N}} tháng mà không cần mua thêm.\n\nCanifa có đủ hết các items này — check link bio!",
        "tags": ["Capsule Wardrobe", "Minimalist", "Sustainable"],
        "category": "style-tip",
        "color": COLORS[1],
    },
    {
        "id": 32,
        "emoji": "👗",
        "title": "Cách chọn đồ cho từng dịp",
        "description": "Dress code guide — problem-solution format, high save rate.",
        "body": "Không biết mặc gì cho {{dịp}}? Đây là guide của Canifa:\n\n📋 {{DỊP}} DRESS CODE:\n\n✅ Phù hợp:\n• {{item 1}}\n• {{item 2}}\n• {{item 3}}\n\n❌ Không phù hợp:\n• {{item A}}\n• {{item B}}\n\n💡 Canifa tip: {{lời khuyên styling đặc biệt cho dịp này}}\n\nSave lại để dùng khi cần nhé! 📌",
        "tags": ["Dress Code", "Tips"],
        "category": "style-tip",
        "color": COLORS[2],
    },

    # ─── BEHIND THE SCENES ────────────────────────────────────────────────────
    {
        "id": 40,
        "emoji": "🏭",
        "title": "Hậu trường thiết kế sản phẩm",
        "description": "BTS content tạo brand trust và emotional connection với khách hàng.",
        "body": "Bạn có bao giờ thắc mắc {{Tên sản phẩm}} được tạo ra như thế nào không? 🧵\n\nHành trình từ {{nguyên liệu}} tới tay bạn:\n\n1. {{bước 1}} — {{mô tả + thời gian}}\n2. {{bước 2}} — {{mô tả + điều thú vị}}\n3. {{bước 3}} — {{quality check}}\n4. {{bước cuối}} — sẵn sàng tới tay bạn!\n\nMỗi sản phẩm Canifa là {{số}} giờ công sức của đội ngũ người thợ Việt Nam 🇻🇳\n\n#MadeInVietnam #Canifa #BehindTheScenes",
        "tags": ["BTS", "Brand Story", "Manufacturing"],
        "category": "behind-scenes",
        "color": COLORS[3],
    },
    {
        "id": 41,
        "emoji": "👩‍🎨",
        "title": "Gặp gỡ đội ngũ thiết kế",
        "description": "Team spotlight — humanizes brand, tăng follower loyalty.",
        "body": "Gặp gỡ {{Tên}} — {{vai trò}} tại Canifa 👋\n\n{{Tên}} đã gắn bó với Canifa được {{N}} năm và đứng sau những thiết kế {{mô tả}}\n\n💬 \"{{quote của nhân vật về công việc/passion}}\"\n\nDesign philosophy của {{Tên/team}}: {{triết lý thiết kế}}\n\nBộ sưu tập được yêu thích nhất: {{BST}}\n\nTag người bạn muốn làm việc tại Canifa! 👇\n#CanifaTeam #FashionDesign #MadeWithLove",
        "tags": ["Team Spotlight", "Brand Human"],
        "category": "behind-scenes",
        "color": COLORS[4],
    },
    {
        "id": 42,
        "emoji": "📸",
        "title": "Hậu trường buổi chụp ảnh",
        "description": "Photoshoot BTS — relatable, shows brand personality và authentic side.",
        "body": "Hậu trường buổi chụp ảnh {{tên bộ sưu tập}} 📸\n\nHôm nay mình có:\n• Location: {{địa điểm}}\n• Đội ngũ: {{N}} người\n• Số set trang phục: {{N}}\n• Thời gian: {{N}} tiếng\n\nMoment yêu thích nhất hôm nay: {{khoảnh khắc thú vị/bất ngờ}}\n\nCampaign chính thức sẽ ra mắt vào {{ngày}} — bạn có hứng khởi không? 🔥\n\n#CanifaBTS #PhotoShoot #ComingSoon",
        "tags": ["Photoshoot BTS", "Authentic"],
        "category": "behind-scenes",
        "color": COLORS[5],
    },

    # ─── ENGAGEMENT ───────────────────────────────────────────────────────────
    {
        "id": 50,
        "emoji": "❓",
        "title": "This or That — Phong cách",
        "description": "This or That format — comment engagement rate cực cao, algorithm friendly.",
        "body": "This or That? Phong cách của bạn thiên về bên nào?\n\n{{OPTION A}} 👕\nvs\n{{OPTION B}} 👗\n\nComment \"A\" hoặc \"B\" bên dưới nhé! Canifa muốn hiểu style của bạn hơn 👇\n\nP.S: Canifa có cả hai — link in bio!\n\n#ThisOrThat #StylePoll #CanifaCommunity",
        "tags": ["Poll", "Engagement", "Community"],
        "category": "engagement",
        "color": COLORS[0],
    },
    {
        "id": 51,
        "emoji": "💬",
        "title": "Caption contest / Điền vào chỗ trống",
        "description": "Fill-in-the-blank — low effort để comment, high engagement rate.",
        "body": "Điền vào chỗ trống:\n\n\"Sáng nay tôi mở tủ ra, nhìn cả tủ đầy đồ mà vẫn thấy... ___\"\n\n😂 Tag người bạn cũng hay bị tình trạng này nhé!\n\nGợi ý từ Canifa: Đó là lúc bạn cần thêm {{tên sản phẩm}} vào bộ sưu tập của mình 😄\n\n#FashionProblems #CanifaFam",
        "tags": ["Fill the blank", "Humor", "Engagement"],
        "category": "engagement",
        "color": COLORS[1],
    },
    {
        "id": 52,
        "emoji": "🌟",
        "title": "Customer review spotlight",
        "description": "Real review từ khách hàng — social proof mạnh nhất.",
        "body": "⭐⭐⭐⭐⭐ Review từ khách hàng của Canifa:\n\n\"{{quote review thực của khách hàng}}\"\n— {{Tên khách hàng}} (@{{handle}})\n\n{{Khách hàng}} đang mặc {{Tên sản phẩm}} size {{S/M/L}} màu {{màu}}\n\nBạn có trải nghiệm tương tự? Chia sẻ với chúng mình nhé!\n📩 DM hoặc tag #CanifaStyle\n\n#CustomerReview #Canifa #RealCustomer",
        "tags": ["Social Proof", "Review", "UGC"],
        "category": "engagement",
        "color": COLORS[2],
    },

    # ─── PROMOTION ────────────────────────────────────────────────────────────
    {
        "id": 60,
        "emoji": "🔥",
        "title": "Flash sale alert",
        "description": "FOMO-driven flash sale — urgency + benefit = conversions cao.",
        "body": "⚡ FLASH SALE — CHỈ {{N}} GIỜ!\n\nGiảm {{%}} toàn bộ {{danh mục}} tại Canifa!\n\n🔖 Không cần mã giảm giá — giảm tự động khi checkout\n\n⏳ Kết thúc lúc: {{giờ}} hôm nay ({{ngày}})\n\nMua ngay trước khi hết: {{link}}\nHoặc đến store Canifa gần bạn nhất!\n\n#FlashSale #Canifa #LimitedTime",
        "tags": ["Flash Sale", "Promotion", "FOMO"],
        "category": "promotion",
        "color": COLORS[3],
    },
    {
        "id": 61,
        "emoji": "🎁",
        "title": "Combo deal — Mua nhiều lãi nhiều",
        "description": "Bundle deals — tăng AOV (Average Order Value).",
        "body": "Mua càng nhiều — TIẾT KIỆM càng nhiều! 🛍️\n\nCanifa Combo Deal:\n\n📦 COMBO {{A}}: {{N}} items → Giá: {{giá gốc}} → Chỉ còn {{giá sale}} (-{{%}})\n📦 COMBO {{B}}: {{N}} items → Giá: {{giá gốc}} → Chỉ còn {{giá sale}} (-{{%}})\n📦 COMBO {{C}}: {{N}} items → Giá: {{giá gốc}} → Chỉ còn {{giá sale}} (-{{%}})\n\n💳 Áp dụng đến: {{ngày hết hạn}}\n\nOrder ngay: {{link}} — Ship toàn quốc!",
        "tags": ["Bundle", "Promotion", "Value"],
        "category": "promotion",
        "color": COLORS[4],
    },

    # ─── BRAND STORY ──────────────────────────────────────────────────────────
    {
        "id": 70,
        "emoji": "🇻🇳",
        "title": "Câu chuyện thương hiệu Canifa",
        "description": "Brand origin story — emotional connection, loyalty building.",
        "body": "{{Năm}} — Canifa bắt đầu từ một câu hỏi đơn giản:\n\n\"Tại sao người Việt phải dùng đồ ngoại nhập khi ta hoàn toàn có thể tự làm tốt hơn?\"\n\nTừ {{N}} cửa hàng đầu tiên ở {{địa điểm}}, đến hôm nay với {{N}} cơ sở trên cả nước.\n\nKhông thay đổi là gì? {{giá trị cốt lõi}}.\n\n{{N}} năm — {{N}} triệu khách hàng tin tưởng — cảm ơn bạn đã là một phần của hành trình này 🙏\n\n#Canifa25Years #MadeInVietnam #VietnameseBrand",
        "tags": ["Brand Story", "Heritage", "Milestone"],
        "category": "story",
        "color": COLORS[5],
    },
    {
        "id": 71,
        "emoji": "♻️",
        "title": "Canifa & Bền vững",
        "description": "Sustainability content — resonates mạnh với Gen Z & Millennials.",
        "body": "Canifa cam kết với thời trang bền vững 🌱\n\nNăm {{năm}}, chúng mình đã:\n✅ Sử dụng {{%}} vải tái chế trong sản xuất\n✅ Giảm {{%}} lượng nước tiêu thụ\n✅ Chuyển sang bao bì {{loại bao bì}}\n✅ {{achievement khác}}\n\nMục tiêu {{năm tới}}: {{cam kết tương lai}}\n\nFashion đẹp không cần phải đánh đổi Trái Đất 💚\n\n#SustainableFashion #CanifaGreen #FashionForFuture",
        "tags": ["Sustainability", "CSR", "Green"],
        "category": "story",
        "color": COLORS[0],
    },
]

FASHION_RSS_FEEDS = {
    "thoi-trang-viet-nam": [
        {"name": "Elle Vietnam", "website": "https://elle.vn/", "rss": "https://elle.vn/feed"},
        {"name": "Vogue VN", "website": "https://vogue.vn/", "rss": "https://vogue.vn/feed"},
        {"name": "Harper's Bazaar VN", "website": "https://harpersbazaar.vn/", "rss": "https://harpersbazaar.vn/feed"},
        {"name": "Đẹp Magazine", "website": "https://dep.com.vn/", "rss": "https://dep.com.vn/feed"},
    ],
    "fashion-global": [
        {"name": "Vogue", "website": "https://vogue.com/", "rss": "https://www.vogue.com/feed/rss"},
        {"name": "WWD", "website": "https://wwd.com/", "rss": "https://wwd.com/feed/"},
        {"name": "Business of Fashion", "website": "https://www.businessoffashion.com/", "rss": "https://www.businessoffashion.com/feed"},
        {"name": "Fashionista", "website": "https://fashionista.com/", "rss": "https://fashionista.com/rss.xml"},
        {"name": "The Zoe Report", "website": "https://www.thezoereport.com/", "rss": "https://www.thezoereport.com/rss"},
    ],
    "e-commerce": [
        {"name": "Retail Dive", "website": "https://retaildive.com/", "rss": "https://www.retaildive.com/feeds/news/"},
        {"name": "Modern Retail", "website": "https://modernretail.co/", "rss": "https://www.modernretail.co/feed/"},
        {"name": "Glossy", "website": "https://glossy.co/", "rss": "https://glossy.co/feed/"},
    ],
    "social-media-marketing": [
        {"name": "Social Media Examiner", "website": "https://socialmediaexaminer.com/", "rss": "https://socialmediaexaminer.com/feed/"},
        {"name": "Later Blog", "website": "https://later.com/blog/", "rss": "https://later.com/blog/feed/"},
        {"name": "Sprout Social Insights", "website": "https://sproutsocial.com/insights/", "rss": "https://sproutsocial.com/insights/feed/"},
        {"name": "Creator Science", "website": "https://creatorscience.com/", "rss": "https://creatorscience.com/rss/"},
    ],
}

FEED_CATEGORIES = [
    {"slug": "thoi-trang-viet-nam",   "label": "Thời trang Việt Nam", "icon": "flag"},
    {"slug": "fashion-global",         "label": "Fashion Global",     "icon": "globe"},
    {"slug": "e-commerce",             "label": "E-commerce",         "icon": "shopping-cart"},
    {"slug": "social-media-marketing", "label": "Social Marketing",   "icon": "trending-up"},
]


def get_templates(category: str = "all", limit: int = 50) -> list[dict]:
    templates = TEMPLATES
    if category and category != "all":
        templates = [t for t in templates if t.get("category") == category]
    featured = [t for t in templates if t["id"] in FEATURED_IDS]
    rest = [t for t in templates if t["id"] not in FEATURED_IDS]
    return (featured + rest)[:limit]


def get_template(template_id: int) -> dict | None:
    return next((t for t in TEMPLATES if t["id"] == template_id), None)


def get_categories() -> list[dict]:
    return CATEGORIES


def search_templates(query: str) -> list[dict]:
    q = query.lower()
    return [
        t for t in TEMPLATES
        if q in t.get("title", "").lower()
        or q in t.get("description", "").lower()
        or any(q in tag.lower() for tag in t.get("tags", []))
    ]


def get_feeds(category: str) -> list[dict]:
    feeds = FASHION_RSS_FEEDS.get(category, [])
    from urllib.parse import urlsplit
    result = []
    for f in feeds:
        url = f.get("website", "")
        parsed = urlsplit(url)
        favicon = f"{parsed.scheme}://{parsed.netloc}/favicon.ico" if parsed.netloc else ""
        result.append({**f, "favicon": favicon})
    return result


def get_feed_categories() -> list[dict]:
    return FEED_CATEGORIES
