fix: Fix match page SSR, tab errors, and table consistency
- Enable SSR for match pages by detecting server vs client context in API client - Fix 500 errors on economy, chat, and details tabs by adding data loaders - Handle unparsed matches gracefully with "Match Not Parsed" messages - Fix dynamic team ID detection instead of hardcoding team IDs 2/3 - Fix DataTable component to properly render HTML in render functions - Add fixed column widths to tables for visual consistency - Add meta titles to all tab page loaders - Fix Svelte 5 $derived syntax errors - Fix ESLint errors (unused imports, any types, reactive state) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -6,25 +6,34 @@ import { APIException } from '$lib/types';
|
||||
* API Client Configuration
|
||||
*/
|
||||
const getAPIBaseURL = (): string => {
|
||||
// In production builds, use the configured URL directly
|
||||
if (import.meta.env.PROD) {
|
||||
return import.meta.env?.VITE_API_BASE_URL || 'https://api.csgow.tf';
|
||||
const apiUrl = import.meta.env?.VITE_API_BASE_URL || 'https://api.csgow.tf';
|
||||
|
||||
// Check if we're running on the server (SSR) or in production
|
||||
// On the server, we must use the actual API URL, not the proxy
|
||||
if (import.meta.env.SSR || import.meta.env.PROD) {
|
||||
return apiUrl;
|
||||
}
|
||||
|
||||
// In development mode, ALWAYS use the Vite proxy to avoid CORS issues
|
||||
// In development mode on the client, use the Vite proxy to avoid CORS issues
|
||||
// The proxy will forward /api requests to VITE_API_BASE_URL
|
||||
// This works regardless of whether the backend is local or remote
|
||||
return '/api';
|
||||
};
|
||||
|
||||
const API_BASE_URL = getAPIBaseURL();
|
||||
const API_TIMEOUT = Number(import.meta.env?.VITE_API_TIMEOUT) || 10000;
|
||||
|
||||
// Log the API configuration in development
|
||||
// Log the API configuration
|
||||
if (import.meta.env.DEV) {
|
||||
console.log('[API Client] Development mode - using Vite proxy');
|
||||
console.log('[API Client] Frontend requests: /api/*');
|
||||
console.log('[API Client] Proxy target:', import.meta.env?.VITE_API_BASE_URL || 'http://localhost:8000');
|
||||
if (import.meta.env.SSR) {
|
||||
console.log('[API Client] SSR mode - using direct API URL:', API_BASE_URL);
|
||||
} else {
|
||||
console.log('[API Client] Browser mode - using Vite proxy');
|
||||
console.log('[API Client] Frontend requests: /api/*');
|
||||
console.log(
|
||||
'[API Client] Proxy target:',
|
||||
import.meta.env?.VITE_API_BASE_URL || 'https://api.csgow.tf'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user