// 其他设置模块
class OtherSettings {
    constructor() {
        // 初始化其他设置项
    }

    // 初始化
    initialize() {
        // 创建其他设置UI
        this.createUI();

        console.log('其他设置模块初始化完成');
    }

    // 创建UI
    createUI() {
        const otherContent = document.getElementById('other-content');
        if (!otherContent) return;

        // 可以根据需要添加其他设置项
        otherContent.innerHTML = `
            <div style="margin-bottom: 15px;">
                <div style="margin-bottom: 10px; display: flex; align-items: center; justify-content: space-between;">
                    <span>清除缓存</span>
                    <button class="mode-btn" onclick="window.otherSettings.clearCache()" style="min-width: 100px;">
                        清除
                    </button>
                </div>
                <div style="font-size: 12px; color: rgba(255, 255, 255, 0.6);">
                    清除浏览器缓存，可能需要刷新页面
                </div>
            </div>

            <div style="margin-bottom: 15px;">
                <div style="margin-bottom: 10px; display: flex; align-items: center; justify-content: space-between;">
                    <span>重置设置</span>
                    <button class="mode-btn" onclick="window.otherSettings.resetSettings()" style="min-width: 100px;">
                        重置
                    </button>
                </div>
                <div style="font-size: 12px; color: rgba(255, 255, 255, 0.6);">
                    重置所有设置为默认值
                </div>
            </div>
        `;
    }

    // 清除缓存
    clearCache() {
        if (confirm('确定要清除缓存吗？可能需要刷新页面。')) {
            try {
                // 清除localStorage中的缓存数据
                const keysToKeep = ['videoMode', 'currentBg']; // 保留一些关键设置
                const allKeys = Object.keys(localStorage);

                allKeys.forEach(key => {
                    if (!keysToKeep.includes(key)) {
                        localStorage.removeItem(key);
                    }
                });

                // 尝试清除Service Worker缓存
                if ('caches' in window) {
                    caches.keys().then(names => {
                        names.forEach(name => {
                            caches.delete(name);
                        });
                    });
                }

                // 显示成功消息
                this.showMessage('缓存已清除，建议刷新页面', 'success');
            } catch (error) {
                console.error('清除缓存失败:', error);
                this.showMessage('清除缓存失败', 'error');
            }
        }
    }

    // 重置设置
    resetSettings() {
        if (confirm('确定要重置所有设置吗？此操作不可撤销。')) {
            try {
                // 清除所有localStorage数据
                localStorage.clear();

                // 重新加载页面以应用默认设置
                location.reload();
            } catch (error) {
                console.error('重置设置失败:', error);
                this.showMessage('重置设置失败', 'error');
            }
        }
    }

    // 显示消息
    showMessage(message, type = 'info') {
        // 创建消息元素
        const messageDiv = document.createElement('div');
        messageDiv.className = 'settings-message';
        messageDiv.textContent = message;

        // 设置样式
        let bgColor = 'rgba(0, 123, 255, 0.8)'; // 默认蓝色
        if (type === 'success') {
            bgColor = 'rgba(40, 167, 69, 0.8)'; // 绿色
        } else if (type === 'error') {
            bgColor = 'rgba(220, 53, 69, 0.8)'; // 红色
        }

        messageDiv.style.cssText = `
            position: fixed;
            bottom: 20px;
            right: 20px;
            padding: 12px 20px;
            background: ${bgColor};
            color: white;
            border-radius: 8px;
            font-size: 14px;
            z-index: 1000;
            max-width: 300px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
            transform: translateY(100px);
            opacity: 0;
            transition: transform 0.3s ease, opacity 0.3s ease;
        `;

        // 添加到页面
        document.body.appendChild(messageDiv);

        // 显示动画
        setTimeout(() => {
            messageDiv.style.transform = 'translateY(0)';
            messageDiv.style.opacity = '1';
        }, 10);

        // 3秒后自动消失
        setTimeout(() => {
            messageDiv.style.transform = 'translateY(100px)';
            messageDiv.style.opacity = '0';

            setTimeout(() => {
                if (messageDiv.parentNode) {
                    messageDiv.parentNode.removeChild(messageDiv);
                }
            }, 300);
        }, 3000);
    }
}
