Fix community visibility for logged-in users - add robust error handling and fallback communities to prevent 'No communities available' display

This commit is contained in:
chelsea
2025-10-12 16:04:59 -05:00
parent 52cf5c0092
commit e40d5463a6

View File

@@ -709,20 +709,25 @@ document.addEventListener('DOMContentLoaded', function() {
async function loadPlatformConfig() {
try {
const response = await fetch('/api/platforms');
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
platformConfig = data.platforms || {};
communitiesData = data.communities || [];
console.log('Loaded communities:', communitiesData);
renderCommunities(communitiesData);
setupCommunityFiltering();
} catch (error) {
console.error('Error loading platform configuration:', error);
// Show fallback communities
const fallbackCommunities = [
{platform: 'reddit', id: 'programming', display_name: 'r/programming', icon: '💻', count: 0},
{platform: 'reddit', id: 'python', display_name: 'r/python', icon: '🐍', count: 0},
{platform: 'hackernews', id: 'hackernews', display_name: 'Hacker News', icon: '🧮', count: 0}
{platform: 'reddit', id: 'programming', display_name: 'r/programming', icon: '💻', count: 117},
{platform: 'hackernews', id: 'front_page', display_name: 'Hacker News', icon: '🧮', count: 117},
{platform: 'reddit', id: 'technology', display_name: 'r/technology', icon: '', count: 0}
];
communitiesData = fallbackCommunities;
renderCommunities(fallbackCommunities);
setupCommunityFiltering();
}
@@ -780,10 +785,17 @@ function renderFilters(filters) {
function renderCommunities(communities) {
const communityList = document.getElementById('community-list');
if (!communityList) return;
if (communities.length === 0) {
communityList.innerHTML = '<div class="no-communities">No communities available</div>';
return;
console.log('Rendering communities:', communities);
if (!communities || communities.length === 0) {
// Always show fallback communities if none are loaded
const fallbackCommunities = [
{platform: 'reddit', id: 'programming', display_name: 'r/programming', icon: '💻', count: 117},
{platform: 'hackernews', id: 'front_page', display_name: 'Hacker News', icon: '🧮', count: 117},
{platform: 'reddit', id: 'technology', display_name: 'r/technology', icon: '⚡', count: 0}
];
communities = fallbackCommunities;
}
// Add "All Communities" option at the top