import { ReactNode } from 'react';


// Add tất cả sp trong data product vào 1 mảng
import { productList } from '@/data/products';

export function getAllProducts() {
    return productList.flatMap((group:any) => group.list);
}


export function formatTextList(
    text?: string | any[],
    limit = 5
) {
    if (!text) return '';

    if (typeof window === 'undefined') {
        // server: trả raw HTML
        return Array.isArray(text)
            ? String(text[1] ?? '')
            : String(text);
    }

    const html = Array.isArray(text)
        ? String(text[1] ?? '')
        : String(text);

    if (!html) return '';

    const parser = new DOMParser();
    const doc = parser.parseFromString(html, 'text/html');

    const nodes = Array.from(
        doc.body.querySelectorAll('p, div, li')
    );

    return nodes
        .slice(0, limit)
        .map(node => `<div class="item">${node.innerHTML}</div>`)
        .join('');
}



// Format giá
export function formatPrice(amount: number) {
    return amount.toLocaleString('vi-VN');
}

// Tính % giảm giá
export function calculateDiscount(
    price: number,
    marketPrice: number
) {
    if (price <= 0 || marketPrice <= price) return 0;
    return Math.ceil(((marketPrice - price) / marketPrice) * 100);
}