import { headers } from 'next/headers';

// Get current domain from headers
function getCurrentDomain() {
    const headersList = headers();
    const host = headersList.get('host');
    return host || 'nobat724.com';
}

// Get base URL based on current domain
function getBaseUrl(domain) {
    // Remove port number if present (for development)
    const cleanDomain = domain.replace(/:\d+$/, '');

    // For localhost domains, use http, otherwise https
    const protocol = cleanDomain.includes('localhost') ? 'http' : 'https';

    return `${protocol}://${domain}`;
}

export default function robots() {
    const domain = getCurrentDomain();
    const baseUrl = getBaseUrl(domain);

    // If DEV_MODE is TRUE, disallow all crawlers
    if (process.env.DEV_MODE === 'TRUE') {
        return {
            rules: {
                userAgent: '*',
                disallow: '/',
            },
        };
    }

    // Normal behavior when DEV_MODE is FALSE or not set
    return {
        rules: {
            userAgent: '*',
            allow: '/',
            disallow: '/dashboard',
        },
        sitemap: `${baseUrl}/sitemap.xml`,
    };
}