Fix production environment variables

- Remove old Confluence variables
- Add NEXT_PUBLIC_API_URL for API access

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
DaX
2025-06-20 00:11:36 +02:00
parent 1a96e5eef6
commit a2252fa923
31 changed files with 4089 additions and 42 deletions

View File

@@ -10,31 +10,42 @@ export default function Home() {
const [loading, setLoading] = useState(true);
const [error, setError] = useState<string | null>(null);
const [lastUpdate, setLastUpdate] = useState<Date | null>(null);
const [darkMode, setDarkMode] = useState(() => {
if (typeof window !== 'undefined') {
const saved = localStorage.getItem('darkMode');
return saved ? JSON.parse(saved) : false;
}
return false;
});
const [darkMode, setDarkMode] = useState(false);
const [mounted, setMounted] = useState(false);
// Initialize dark mode from localStorage after mounting
useEffect(() => {
if (typeof window !== 'undefined') {
localStorage.setItem('darkMode', JSON.stringify(darkMode));
if (darkMode) {
document.documentElement.classList.add('dark');
} else {
document.documentElement.classList.remove('dark');
}
setMounted(true);
const saved = localStorage.getItem('darkMode');
if (saved) {
setDarkMode(JSON.parse(saved));
}
}, [darkMode]);
}, []);
// Update dark mode
useEffect(() => {
if (!mounted) return;
localStorage.setItem('darkMode', JSON.stringify(darkMode));
if (darkMode) {
document.documentElement.classList.add('dark');
} else {
document.documentElement.classList.remove('dark');
}
}, [darkMode, mounted]);
const fetchFilaments = async () => {
try {
setLoading(true);
setError(null);
const response = await axios.get('/data.json');
// Use API if available, fallback to static JSON
const apiUrl = process.env.NEXT_PUBLIC_API_URL;
const url = apiUrl ? `${apiUrl}/filaments` : '/data.json';
console.log('Fetching from:', url);
console.log('API URL configured:', apiUrl);
const response = await axios.get(url);
console.log('Response data:', response.data);
setFilaments(response.data);
setLastUpdate(new Date());
} catch (err) {
@@ -74,13 +85,15 @@ export default function Home() {
>
{loading ? 'Ažuriranje...' : 'Osveži'}
</button>
<button
onClick={() => setDarkMode(!darkMode)}
className="px-4 py-2 bg-gray-200 dark:bg-gray-700 text-gray-800 dark:text-gray-200 rounded hover:bg-gray-300 dark:hover:bg-gray-600 transition-colors"
title={darkMode ? 'Svetla tema' : 'Tamna tema'}
>
{darkMode ? '☀️' : '🌙'}
</button>
{mounted && (
<button
onClick={() => setDarkMode(!darkMode)}
className="px-4 py-2 bg-gray-200 dark:bg-gray-700 text-gray-800 dark:text-gray-200 rounded hover:bg-gray-300 dark:hover:bg-gray-600 transition-colors"
title={darkMode ? 'Svetla tema' : 'Tamna tema'}
>
{darkMode ? '☀️' : '🌙'}
</button>
)}
</div>
</div>
</div>