from telegram import Update
from telegram.ext import ContextTypes
from database.db import DB
from utils.helpers import money
from utils.decorators import anti_flood

@anti_flood
async def my_orders(update: Update, context: ContextTypes.DEFAULT_TYPE):
    uid = update.effective_user.id
    rows = await DB.fetchall(
        "SELECT id, product_name, amount, delivery_status, delivery_content, created_at "
        "FROM orders WHERE user_id=? ORDER BY id DESC LIMIT 20", (uid,))
    if not rows:
        await update.message.reply_text("📦 You have no orders yet."); return
    parts = ["📦 <b>Your Orders</b>\n"]
    for r in rows:
        parts.append(
            f"#{r['id']} — {r['product_name']}\n"
            f"  {money(r['amount'])} • {r['delivery_status']} • {r['created_at'][:16]}\n"
            f"  Delivery: <code>{(r['delivery_content'] or '')[:120]}</code>\n")
    await update.message.reply_html("\n".join(parts))
