diff --git a/public/admin/claude-md-migrator.html b/public/admin/claude-md-migrator.html index 4a795035..11381ed5 100644 --- a/public/admin/claude-md-migrator.html +++ b/public/admin/claude-md-migrator.html @@ -4,7 +4,7 @@ CLAUDE.md Migration Wizard - Tractatus Admin - + diff --git a/public/admin/newsletter-management.html b/public/admin/newsletter-management.html index 9398e603..0e777a79 100644 --- a/public/admin/newsletter-management.html +++ b/public/admin/newsletter-management.html @@ -24,7 +24,7 @@ Newsletter Management
- ← Dashboard + ← Dashboard
diff --git a/public/js/admin/claude-md-migrator.js b/public/js/admin/claude-md-migrator.js index eee97ab2..ba4f3809 100644 --- a/public/js/admin/claude-md-migrator.js +++ b/public/js/admin/claude-md-migrator.js @@ -40,12 +40,36 @@ function initializeEventListeners() { * Check authentication */ async function checkAuth() { - const token = localStorage.getItem('auth_token'); + const token = localStorage.getItem('admin_token'); if (!token) { window.location.href = '/admin/login.html'; } } +/** + * API request helper + */ +async function apiRequest(endpoint, options = {}) { + const token = localStorage.getItem('admin_token'); + const response = await fetch(endpoint, { + ...options, + headers: { + 'Authorization': `Bearer ${token}`, + 'Content-Type': 'application/json', + ...options.headers + } + }); + + if (response.status === 401) { + localStorage.removeItem('admin_token'); + localStorage.removeItem('admin_user'); + window.location.href = '/admin/login.html'; + return; + } + + return response.json(); +} + /** * Handle file upload */ @@ -450,7 +474,8 @@ function goToStep(stepNumber) { * Logout */ function logout() { - localStorage.removeItem('auth_token'); + localStorage.removeItem('admin_token'); + localStorage.removeItem('admin_user'); window.location.href = '/admin/login.html'; } diff --git a/public/js/admin/hooks-dashboard.js b/public/js/admin/hooks-dashboard.js index 48d8d2ad..984778b8 100644 --- a/public/js/admin/hooks-dashboard.js +++ b/public/js/admin/hooks-dashboard.js @@ -23,7 +23,7 @@ async function loadMetrics() { try { const response = await fetch(`${API_BASE}/admin/hooks/metrics`, { headers: { - 'Authorization': `Bearer ${localStorage.getItem('tractatus_admin_token')}` + 'Authorization': `Bearer ${localStorage.getItem('admin_token')}` } }); diff --git a/public/js/admin/newsletter-management.js b/public/js/admin/newsletter-management.js index a7dca7d0..4e931141 100644 --- a/public/js/admin/newsletter-management.js +++ b/public/js/admin/newsletter-management.js @@ -14,7 +14,7 @@ let currentFilters = { */ async function init() { // Set admin name - const admin = JSON.parse(localStorage.getItem('admin') || '{}'); + const admin = JSON.parse(localStorage.getItem('admin_user') || '{}'); document.getElementById('admin-name').textContent = admin.name || admin.email || 'Admin'; // Event listeners @@ -45,7 +45,7 @@ async function loadAll() { */ async function loadStats() { try { - const token = localStorage.getItem('token'); + const token = localStorage.getItem('admin_token'); const response = await fetch('/api/newsletter/admin/stats', { headers: { 'Authorization': `Bearer ${token}` @@ -71,7 +71,7 @@ async function loadStats() { */ async function loadSubscribers() { try { - const token = localStorage.getItem('token'); + const token = localStorage.getItem('admin_token'); const skip = (currentPage - 1) * perPage; const params = new URLSearchParams({ @@ -214,7 +214,7 @@ async function deleteSubscriber(id, email) { } try { - const token = localStorage.getItem('token'); + const token = localStorage.getItem('admin_token'); const response = await fetch(`/api/newsletter/admin/subscriptions/${id}`, { method: 'DELETE', headers: { @@ -237,7 +237,7 @@ async function deleteSubscriber(id, email) { */ async function exportSubscribers() { try { - const token = localStorage.getItem('token'); + const token = localStorage.getItem('admin_token'); const active = currentFilters.status === 'all' ? 'all' : 'true'; const response = await fetch(`/api/newsletter/admin/export?active=${active}`, { @@ -267,8 +267,8 @@ async function exportSubscribers() { * Logout */ function logout() { - localStorage.removeItem('token'); - localStorage.removeItem('admin'); + localStorage.removeItem('admin_token'); + localStorage.removeItem('admin_user'); window.location.href = '/admin/login.html'; }