5.3 KiB
Řešení problémů s navigací
Problém: Žádné položky navigace se nenačítají
Pokud se na stránce Správa navigace nezobrazuje žádný obsah (ani ve webové navigaci, ani v admin panelu, ani sociální sítě), může to být způsobeno několika důvody:
1. Databázové tabulky nejsou vytvořeny nebo jsou prázdné
Kontrola stavu
- Otevřete Správu navigace (
/admin/navigace) - Zkontrolujte informační panel nahoře - měl by zobrazit: "Načteno: X webových, X admin, X sociálních"
- Otevřete konzoli prohlížeče (F12) a podívejte se na výpis:
Načtená navigace: [] Načtené sociální odkazy: []
Pokud jsou pole prázdná ([]), znamená to, že backend běží správně, ale databáze je prázdná.
Řešení A: Spustit migrace s výchozími daty
Tabulky navigation_items a social_links se vytvoří automaticky při startu aplikace, ale výchozí data se vkládají pouze při spuštění migrací.
Postup:
-
Zastavte backend server (pokud běží)
-
Spusťte backend s příznakem pro migrace:
Windows (PowerShell):
$env:RUN_MIGRATIONS="true" go run main.goLinux/Mac:
RUN_MIGRATIONS=true go run main.go -
Zkontrolujte logy - měli byste vidět:
Running database migrations... Migration 20251010154600_create_navigation_system.up.sql applied successfully -
Obnovte stránku správy navigace
-
Nyní byste měli vidět výchozí navigační položky:
- Domů
- O klubu
- Kalendář
- Zápasy
- Aktivity
- Hráči
- Tabulky
- Články
- Videa
- Fotogalerie
- Sponzoři
- Kontakt
Řešení B: Vytvořit položky ručně
Pokud nechcete spouštět migrace (např. už jste upravili databázi), můžete položky vytvořit ručně:
- V záložce Webová navigace klikněte na tlačítko "Přidat hlavní položku"
- Vyplňte formulář:
- Název: např. "Domů"
- Typ: Vyberte "Stránka (vyberte existující)"
- Webová stránka: Vyberte ze seznamu, např. "Domů (/)"
- Viditelné: Zapnuto (checkbox)
- Klikněte na Uložit
- Opakujte pro další stránky
2. Problémy s API připojením
Pokud vidíte chybovou hlášku při načítání, může se jednat o problém s API.
Kontrola
- Otevřete konzoli prohlížeče (F12)
- Přejděte na záložku Network/Síť
- Obnovte stránku správy navigace
- Podívejte se na požadavky:
GET /api/v1/admin/navigation- měl by vrátit status 200GET /api/v1/admin/social-links- měl by vrátit status 200
Možné chyby:
Status 401 Unauthorized:
- Nejste přihlášeni jako administrátor
- Řešení: Odhlaste se a znovu se přihlaste
Status 404 Not Found:
- Backend neběží nebo běží na jiném portu
- Zkontrolujte
.envsoubor:REACT_APP_API_URL=http://localhost:8080/api/v1 - Ověřte, že backend běží na portu 8080
Status 500 Internal Server Error:
- Chyba na straně serveru
- Zkontrolujte logy backendu
- Možná databáze neběží nebo není dostupná
CORS Error:
- Backend blokuje požadavky z frontendu
- Řešení: Ujistěte se, že backend běží v dev módu (
APP_ENV=development)
3. Backend neběží
Kontrola
- Otevřete novou PowerShell/terminál
- Zkuste přistoupit k API přímo:
curl http://localhost:8080/api/v1/navigation
Pokud dostanete chybu "Connection refused" nebo podobnou, backend neběží.
Řešení
Spusťte backend:
cd c:\Users\conta\Downloads\PROG+HTML\Fotbal\fotbal-club
go run main.go
4. Databáze neběží
Pokud backend vyhodí chybu při startu o nemožnosti připojení k databázi:
Failed to connect to database: connection refused
Řešení
- Zkontrolujte, zda PostgreSQL běží
- Ověřte konfiguraci v
.env:DB_HOST=localhost DB_PORT=5432 DB_USER=postgres DB_PASSWORD=your_password DB_NAME=fotbal_club - Spusťte PostgreSQL server
Rychlá diagnostika - Checklist
- Backend běží (vidím "Server starting on port 8080" v logu)
- Frontend běží (React dev server na portu 3000)
- Jsem přihlášen jako administrátor
- V konzoli prohlížeče vidím:
Načtená navigace: [](prázdné pole, ne chyba) - Spustil jsem migrace s
RUN_MIGRATIONS=truenebo vytvořil položky ručně - Obnovil jsem stránku po přidání dat
Testování API přímo
Můžete otestovat API přímo pomocí curl/PowerShell:
# Získat veřejné navigační položky
curl http://localhost:8080/api/v1/navigation
# Získat admin navigační položky (vyžaduje přihlášení)
# Nejprve se přihlaste přes prohlížeč, pak:
curl http://localhost:8080/api/v1/admin/navigation -H "Cookie: your-session-cookie"
Pokud nic nepomůže
- Zkontrolujte konzoli prohlížeče - hledejte červené chyby
- Zkontrolujte logy backendu - hledejte chybové zprávy
- Zkuste restartovat:
- Backend server
- Frontend dev server
- PostgreSQL databázi
- Zkuste vymazat cookies a local storage prohlížeče
- Použijte režim inkognito/soukromé okno
Podpora
Pokud problém přetrvává:
- Zkopírujte chybovou zprávu z konzole prohlížeče
- Zkopírujte logy z backendu
- Uveďte, které kroky jste již vyzkoušeli