Fix: Add auth header to loadCollections and loadTags
This commit is contained in:
parent
88f133bf6c
commit
d9c91f42be
1 changed files with 25 additions and 7 deletions
|
|
@ -400,12 +400,17 @@ async function deleteModel(modelId) {
|
||||||
// Collections Functions
|
// Collections Functions
|
||||||
async function loadCollections() {
|
async function loadCollections() {
|
||||||
try {
|
try {
|
||||||
const response = await fetch(`${API_BASE}/collections`);
|
const headers = {};
|
||||||
|
if (authToken) {
|
||||||
|
headers['Authorization'] = `Bearer ${authToken}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
const response = await fetch(`${API_BASE}/collections`, { headers });
|
||||||
const data = await response.json();
|
const data = await response.json();
|
||||||
allCollections = data.collections;
|
allCollections = data.collections || [];
|
||||||
|
|
||||||
const collectionsList = document.getElementById('collectionsList');
|
const collectionsList = document.getElementById('collectionsList');
|
||||||
if (data.collections.length > 0) {
|
if (data.collections && data.collections.length > 0) {
|
||||||
collectionsList.innerHTML = data.collections.map(collection => `
|
collectionsList.innerHTML = data.collections.map(collection => `
|
||||||
<li>
|
<li>
|
||||||
<a href="#" onclick="loadAllModels('', '', ${collection.id}); return false;">
|
<a href="#" onclick="loadAllModels('', '', ${collection.id}); return false;">
|
||||||
|
|
@ -420,10 +425,14 @@ async function loadCollections() {
|
||||||
// Update upload modal collection select
|
// Update upload modal collection select
|
||||||
const uploadCollectionSelect = document.getElementById('uploadCollection');
|
const uploadCollectionSelect = document.getElementById('uploadCollection');
|
||||||
uploadCollectionSelect.innerHTML = '<option value="">None</option>' +
|
uploadCollectionSelect.innerHTML = '<option value="">None</option>' +
|
||||||
data.collections.map(c => `<option value="${c.id}">${escapeHtml(c.name)}</option>`).join('');
|
(data.collections ? data.collections.map(c => `<option value="${c.id}">${escapeHtml(c.name)}</option>`).join('') : '');
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error loading collections:', error);
|
console.error('Error loading collections:', error);
|
||||||
|
const collectionsList = document.getElementById('collectionsList');
|
||||||
|
if (collectionsList) {
|
||||||
|
collectionsList.innerHTML = '<li class="loading">Error loading collections</li>';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -471,12 +480,17 @@ function showCollections() {
|
||||||
// Tags Functions
|
// Tags Functions
|
||||||
async function loadTags() {
|
async function loadTags() {
|
||||||
try {
|
try {
|
||||||
const response = await fetch(`${API_BASE}/tags`);
|
const headers = {};
|
||||||
|
if (authToken) {
|
||||||
|
headers['Authorization'] = `Bearer ${authToken}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
const response = await fetch(`${API_BASE}/tags`, { headers });
|
||||||
const data = await response.json();
|
const data = await response.json();
|
||||||
allTags = data.tags;
|
allTags = data.tags || [];
|
||||||
|
|
||||||
const tagsList = document.getElementById('tagsList');
|
const tagsList = document.getElementById('tagsList');
|
||||||
if (data.tags.length > 0) {
|
if (data.tags && data.tags.length > 0) {
|
||||||
const topTags = data.tags.sort((a, b) => b.model_count - a.model_count).slice(0, 10);
|
const topTags = data.tags.sort((a, b) => b.model_count - a.model_count).slice(0, 10);
|
||||||
tagsList.innerHTML = topTags.map(tag => `
|
tagsList.innerHTML = topTags.map(tag => `
|
||||||
<span class="tag" style="background-color: ${tag.color}" onclick="loadAllModels('', '${escapeHtml(tag.name)}', '')">
|
<span class="tag" style="background-color: ${tag.color}" onclick="loadAllModels('', '${escapeHtml(tag.name)}', '')">
|
||||||
|
|
@ -488,6 +502,10 @@ async function loadTags() {
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error loading tags:', error);
|
console.error('Error loading tags:', error);
|
||||||
|
const tagsList = document.getElementById('tagsList');
|
||||||
|
if (tagsList) {
|
||||||
|
tagsList.innerHTML = '<span class="loading">Error loading tags</span>';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue