<?php
require_once '../includes/auth.php';

$auth = new Auth();
$auth->requireLogin();
?>
<!DOCTYPE html>
<html lang="zh-TW">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>分析追蹤功能測試</title>
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet">
    <style>
        body {
            font-family: Arial, sans-serif;
            max-width: 1200px;
            margin: 50px auto;
            padding: 20px;
        }
        .test-section {
            background: #f8f9fa;
            border: 1px solid #dee2e6;
            border-radius: 8px;
            padding: 20px;
            margin-bottom: 20px;
        }
        .btn {
            background: #007bff;
            color: white;
            border: none;
            padding: 10px 20px;
            border-radius: 5px;
            cursor: pointer;
            margin: 5px;
        }
        .btn:hover {
            background: #0056b3;
        }
        .result {
            background: white;
            border: 1px solid #ccc;
            border-radius: 5px;
            padding: 15px;
            margin-top: 10px;
            white-space: pre-wrap;
        }
        .error {
            background: #f8d7da;
            color: #721c24;
            border-color: #f5c6cb;
        }
        .success {
            background: #d4edda;
            color: #155724;
            border-color: #c3e6cb;
        }
        .form-group {
            margin-bottom: 15px;
        }
        .form-group label {
            display: block;
            margin-bottom: 5px;
            font-weight: bold;
        }
        .form-control {
            width: 100%;
            padding: 8px;
            border: 1px solid #ccc;
            border-radius: 4px;
        }
    </style>
</head>
<body>
    <h1>分析追蹤功能測試</h1>
    
    <div class="test-section">
        <h3>測試1: 新增追蹤項目</h3>
        <form id="addTrackingForm">
            <div class="form-group">
                <label for="testBrand">品牌ID</label>
                <input type="number" id="testBrand" class="form-control" value="1" required>
            </div>
            <div class="form-group">
                <label for="testKeyword">關鍵字</label>
                <input type="text" id="testKeyword" class="form-control" value="測試關鍵字" required>
            </div>
            <div class="form-group">
                <label for="testUrl">目標網址</label>
                <input type="url" id="testUrl" class="form-control" value="https://example.com">
            </div>
            <div class="form-group">
                <label for="testTargetRanking">目標排名</label>
                <input type="number" id="testTargetRanking" class="form-control" value="1" min="1" max="100">
            </div>
            <div class="form-group">
                <label for="testCurrentRanking">目前排名</label>
                <input type="number" id="testCurrentRanking" class="form-control" value="5" min="0" max="100">
            </div>
            <div class="form-group">
                <label for="testSearchVolume">搜尋量</label>
                <input type="number" id="testSearchVolume" class="form-control" value="1000" min="0">
            </div>
            <div class="form-group">
                <label for="testCompetition">競爭度</label>
                <select id="testCompetition" class="form-control">
                    <option value="low">低</option>
                    <option value="medium">中</option>
                    <option value="high">高</option>
                </select>
            </div>
            <div class="form-group">
                <label for="testNotes">備註</label>
                <textarea id="testNotes" class="form-control" rows="3">測試備註</textarea>
            </div>
            <button type="submit" class="btn">測試新增追蹤</button>
        </form>
        <div id="addResult" class="result" style="display: none;"></div>
    </div>
    
    <div class="test-section">
        <h3>測試2: 獲取追蹤列表</h3>
        <button class="btn" onclick="testGetTracking()">測試獲取追蹤列表</button>
        <div id="getResult" class="result" style="display: none;"></div>
    </div>
    
    <div class="test-section">
        <h3>測試3: 獲取分析數據</h3>
        <button class="btn" onclick="testGetAnalytics()">測試獲取分析數據</button>
        <div id="analyticsResult" class="result" style="display: none;"></div>
    </div>
    
    <div class="test-section">
        <h3>測試4: 獲取圖表數據</h3>
        <button class="btn" onclick="testGetChartData()">測試獲取圖表數據</button>
        <div id="chartResult" class="result" style="display: none;"></div>
    </div>
    
    <script>
        document.getElementById('addTrackingForm').addEventListener('submit', async function(e) {
            e.preventDefault();
            
            const resultDiv = document.getElementById('addResult');
            resultDiv.style.display = 'block';
            resultDiv.className = 'result';
            resultDiv.textContent = '測試中...';
            
            const data = {
                action: 'add_tracking',
                brand_id: document.getElementById('testBrand').value,
                keyword: document.getElementById('testKeyword').value,
                target_url: document.getElementById('testUrl').value,
                target_ranking: document.getElementById('testTargetRanking').value,
                current_ranking: document.getElementById('testCurrentRanking').value,
                search_volume: document.getElementById('testSearchVolume').value,
                competition: document.getElementById('testCompetition').value,
                notes: document.getElementById('testNotes').value
            };
            
            try {
                const response = await fetch('/api/analytics.php', {
                    method: 'POST',
                    headers: {
                        'Content-Type': 'application/json',
                    },
                    credentials: 'same-origin',
                    body: JSON.stringify(data)
                });
                
                const result = await response.json();
                
                if (result.success) {
                    resultDiv.className = 'result success';
                    resultDiv.textContent = '新增追蹤成功！\n' + JSON.stringify(result, null, 2);
                } else {
                    resultDiv.className = 'result error';
                    resultDiv.textContent = '新增追蹤失敗：\n' + result.message;
                }
            } catch (error) {
                resultDiv.className = 'result error';
                resultDiv.textContent = '網路錯誤：\n' + error.message;
            }
        });
        
        async function testGetTracking() {
            const resultDiv = document.getElementById('getResult');
            resultDiv.style.display = 'block';
            resultDiv.className = 'result';
            resultDiv.textContent = '測試中...';
            
            try {
                const response = await fetch('/api/analytics.php?action=get_tracking');
                const result = await response.json();
                
                if (result.success) {
                    resultDiv.className = 'result success';
                    resultDiv.textContent = '獲取追蹤列表成功！\n' + JSON.stringify(result, null, 2);
                } else {
                    resultDiv.className = 'result error';
                    resultDiv.textContent = '獲取追蹤列表失敗：\n' + result.message;
                }
            } catch (error) {
                resultDiv.className = 'result error';
                resultDiv.textContent = '網路錯誤：\n' + error.message;
            }
        }
        
        async function testGetAnalytics() {
            const resultDiv = document.getElementById('analyticsResult');
            resultDiv.style.display = 'block';
            resultDiv.className = 'result';
            resultDiv.textContent = '測試中...';
            
            try {
                const response = await fetch('/api/analytics.php?action=get_analytics');
                const result = await response.json();
                
                if (result.success) {
                    resultDiv.className = 'result success';
                    resultDiv.textContent = '獲取分析數據成功！\n' + JSON.stringify(result, null, 2);
                } else {
                    resultDiv.className = 'result error';
                    resultDiv.textContent = '獲取分析數據失敗：\n' + result.message;
                }
            } catch (error) {
                resultDiv.className = 'result error';
                resultDiv.textContent = '網路錯誤：\n' + error.message;
            }
        }
        
        async function testGetChartData() {
            const resultDiv = document.getElementById('chartResult');
            resultDiv.style.display = 'block';
            resultDiv.className = 'result';
            resultDiv.textContent = '測試中...';
            
            try {
                const response = await fetch('/api/analytics.php?action=get_chart_data&chart_type=ranking_trend');
                const result = await response.json();
                
                if (result.success) {
                    resultDiv.className = 'result success';
                    resultDiv.textContent = '獲取圖表數據成功！\n' + JSON.stringify(result, null, 2);
                } else {
                    resultDiv.className = 'result error';
                    resultDiv.textContent = '獲取圖表數據失敗：\n' + result.message;
                }
            } catch (error) {
                resultDiv.className = 'result error';
                resultDiv.textContent = '網路錯誤：\n' + error.message;
            }
        }
    </script>
</body>
</html>
