fix: restore hardcoded nav links, remove API fetch returning New Link
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+2
-26
@@ -1,6 +1,5 @@
|
|||||||
// Top nav — minimal, sticky, blurred — mobile-responsive
|
// Top nav — minimal, sticky, blurred — mobile-responsive
|
||||||
const DASHBOARD = 'https://aura.auraajenticai.cloud'
|
const NAV_LINKS = [
|
||||||
const NAV_FALLBACK = [
|
|
||||||
{ id: "services", label: "Services", url: "#/services" },
|
{ id: "services", label: "Services", url: "#/services" },
|
||||||
{ id: "stack", label: "Stack", url: "#/stack" },
|
{ id: "stack", label: "Stack", url: "#/stack" },
|
||||||
{ id: "agents", label: "Agents", url: "#/agents" },
|
{ id: "agents", label: "Agents", url: "#/agents" },
|
||||||
@@ -11,7 +10,7 @@ const NAV_FALLBACK = [
|
|||||||
const Nav = ({ onCmdK, theme, onToggleTheme, accent, lang, onToggleLang, route }) => {
|
const Nav = ({ onCmdK, theme, onToggleTheme, accent, lang, onToggleLang, route }) => {
|
||||||
const [scrolled, setScrolled] = React.useState(false);
|
const [scrolled, setScrolled] = React.useState(false);
|
||||||
const [menuOpen, setMenuOpen] = React.useState(false);
|
const [menuOpen, setMenuOpen] = React.useState(false);
|
||||||
const [links, setLinks] = React.useState(NAV_FALLBACK);
|
const links = NAV_LINKS;
|
||||||
|
|
||||||
React.useEffect(() => {
|
React.useEffect(() => {
|
||||||
const onScroll = () => setScrolled(window.scrollY > 12);
|
const onScroll = () => setScrolled(window.scrollY > 12);
|
||||||
@@ -19,29 +18,6 @@ const Nav = ({ onCmdK, theme, onToggleTheme, accent, lang, onToggleLang, route }
|
|||||||
return () => window.removeEventListener("scroll", onScroll);
|
return () => window.removeEventListener("scroll", onScroll);
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
// Fetch nav links from Control Center API (stale-while-revalidate)
|
|
||||||
React.useEffect(() => {
|
|
||||||
const CACHE_KEY = 'aura_nav_links'
|
|
||||||
const CACHE_TTL = 5 * 60 * 1000 // 5 min
|
|
||||||
const cached = sessionStorage.getItem(CACHE_KEY)
|
|
||||||
if (cached) {
|
|
||||||
try {
|
|
||||||
const { data, ts } = JSON.parse(cached)
|
|
||||||
if (Date.now() - ts < CACHE_TTL) { setLinks(data.length ? data : NAV_FALLBACK); return }
|
|
||||||
} catch {}
|
|
||||||
}
|
|
||||||
fetch(`${DASHBOARD}/api/public/links?page=home`, { signal: AbortSignal.timeout(3000) })
|
|
||||||
.then(r => r.ok ? r.json() : null)
|
|
||||||
.then(data => {
|
|
||||||
if (Array.isArray(data) && data.length > 0) {
|
|
||||||
const mapped = data.map(l => ({ id: l.id, label: l.label, url: l.url }))
|
|
||||||
setLinks(mapped)
|
|
||||||
sessionStorage.setItem(CACHE_KEY, JSON.stringify({ data: mapped, ts: Date.now() }))
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.catch(() => {})
|
|
||||||
}, []);
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<nav style={{
|
<nav style={{
|
||||||
|
|||||||
Reference in New Issue
Block a user