11---
22interface Props {
3- active? : ' plans' | ' blog' | ' docs' | ' solutions ' | ' home' ;
3+ active? : ' plans' | ' blog' | ' docs' | ' zoos ' | ' home' ;
44}
55
66const { active } = Astro .props ;
@@ -24,10 +24,6 @@ const { active } = Astro.props;
2424.nav-right{display:flex;align-items:center;gap:4px;margin-left:auto}
2525.nav-right .gh-link{color:var(--muted);transition:all 0.2s;display:flex;padding:6px 8px;border-radius:40px}
2626.nav-right .gh-link:hover{color:var(--fg);background:rgba(255,255,255,0.06)}
27- .gh-stars{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:0.78rem;font-weight:500;padding:4px 10px 4px 8px;border-radius:40px;border:1px solid rgba(255,255,255,0.1);transition:all 0.2s;text-decoration:none;white-space:nowrap}
28- .gh-stars:hover{color:var(--fg);border-color:rgba(255,255,255,0.2);background:rgba(255,255,255,0.06);text-decoration:none}
29- .gh-star-icon{color:#e3b341}
30- .gh-count{min-width:1ch}
3127.nav-cta{font-size:0.8rem;padding:6px 16px;border-radius:40px;background:var(--accent);color:#000;font-weight:600;transition:all 0.2s;border:none;cursor:pointer;white-space:nowrap;text-decoration:none;display:inline-block}
3228.nav-cta:hover{opacity:0.9;text-decoration:none;box-shadow:0 0 16px rgba(34,197,94,0.3)}
3329
@@ -41,13 +37,16 @@ const { active } = Astro.props;
4137.nav-dd-menu a:hover{color:var(--fg);background:rgba(255,255,255,0.08);text-decoration:none}
4238.nav-dd-menu a svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
4339
40+ /* Logo dropdown */
41+ .nav-logo-dd .nav-dd-menu{left:0;transform:none}
42+
4443/* Hamburger */
4544.nav-hamburger{display:none;background:none;border:none;color:var(--muted);cursor:pointer;padding:6px 8px;border-radius:40px;transition:all 0.2s;line-height:1}
4645.nav-hamburger:hover{color:var(--fg);background:rgba(255,255,255,0.06)}
4746.nav-hamburger svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
4847
4948/* Mobile dropdown */
50- .nav-mobile{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;background:rgba(10,10,10,0.85 );backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:8px;box-shadow:0 8px 32px rgba(0,0,0,0.6)}
49+ .nav-mobile{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;background:rgba(10,10,10,0.95 );backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:8px;box-shadow:0 8px 32px rgba(0,0,0,0.6)}
5150.nav-mobile.open{display:flex;flex-direction:column;gap:2px}
5251.nav-mobile a{font-size:0.85rem;color:var(--muted);padding:10px 16px;border-radius:8px;display:flex;align-items:center;gap:8px;transition:all 0.15s}
5352.nav-mobile a:hover{color:var(--fg);background:rgba(255,255,255,0.06);text-decoration:none}
@@ -75,67 +74,58 @@ const { active } = Astro.props;
7574
7675<nav class =" navbar" >
7776 <div class =" nav-island" >
78- <a class =" nav-left" href =" /" >
79- <img src =" https://raw.githubusercontent.com/TeoSlayer/pilotprotocol/main/docs/media/pilot.png" alt =" Pilot Protocol" >
80- <span >Pilot Protocol</span >
81- </a >
77+ <div class =" nav-dd nav-logo-dd" >
78+ <a class =" nav-left" href =" /" >
79+ <img src =" https://raw.githubusercontent.com/TeoSlayer/pilotprotocol/main/docs/media/pilot.png" alt =" Pilot Protocol" >
80+ <span >Pilot Protocol</span >
81+ </a >
82+ <div class =" nav-dd-menu" >
83+ <a href =" /for/mcp" >
84+ <svg viewBox =" 0 0 24 24" ><rect x =" 2" y =" 3" width =" 20" height =" 14" rx =" 2" ry =" 2" /><line x1 =" 8" y1 =" 21" x2 =" 16" y2 =" 21" /><line x1 =" 12" y1 =" 17" x2 =" 12" y2 =" 21" /></svg >
85+ For MCP Servers
86+ </a >
87+ <a href =" /for/p2p" >
88+ <svg viewBox =" 0 0 24 24" ><circle cx =" 18" cy =" 5" r =" 3" /><circle cx =" 6" cy =" 12" r =" 3" /><circle cx =" 18" cy =" 19" r =" 3" /><line x1 =" 8.59" y1 =" 13.51" x2 =" 15.42" y2 =" 17.49" /><line x1 =" 15.41" y1 =" 6.51" x2 =" 8.59" y2 =" 10.49" /></svg >
89+ For P2P Agents
90+ </a >
91+ </div >
92+ </div >
8293 <div class =" nav-divider" ></div >
8394 <div class =" nav-center" >
8495 <div class =" nav-dd" >
85- <button class ={ ` nav-dd-trigger ${active === ' solutions ' ? ' active' : ' ' } ` } >
96+ <button class ={ ` nav-dd-trigger ${active === ' zoos ' ? ' active' : ' ' } ` } >
8697 <svg class =" nav-icon" viewBox =" 0 0 24 24" ><path d =" M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z" /><polyline points =" 3.27 6.96 12 12.01 20.73 6.96" /><line x1 =" 12" y1 =" 22.08" x2 =" 12" y2 =" 12" /></svg >
87- Solutions
98+ Zoos
8899 <svg class =" dd-chevron" viewBox =" 0 0 24 24" ><polyline points =" 6 9 12 15 18 9" /></svg >
89100 </button >
90101 <div class =" nav-dd-menu" >
91- <a href =" /for/mcp" >
92- <svg viewBox =" 0 0 24 24" ><rect x =" 2" y =" 3" width =" 20" height =" 14" rx =" 2" ry =" 2" /><line x1 =" 8" y1 =" 21" x2 =" 16" y2 =" 21" /><line x1 =" 12" y1 =" 17" x2 =" 12" y2 =" 21" /></svg >
93- For MCP Servers
94- </a >
95- <a href =" /for/p2p" >
96- <svg viewBox =" 0 0 24 24" ><circle cx =" 18" cy =" 5" r =" 3" /><circle cx =" 6" cy =" 12" r =" 3" /><circle cx =" 18" cy =" 19" r =" 3" /><line x1 =" 8.59" y1 =" 13.51" x2 =" 15.42" y2 =" 17.49" /><line x1 =" 15.41" y1 =" 6.51" x2 =" 8.59" y2 =" 10.49" /></svg >
97- For P2P Agents
98- </a >
99102 <a href =" /for/skills" >
100103 <svg viewBox =" 0 0 24 24" ><path d =" M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z" /><polyline points =" 3.27 6.96 12 12.01 20.73 6.96" /><line x1 =" 12" y1 =" 22.08" x2 =" 12" y2 =" 12" /></svg >
101104 Skill Zoo
102105 </a >
106+ <a href =" /for/networks" >
107+ <svg viewBox =" 0 0 24 24" ><circle cx =" 12" cy =" 12" r =" 10" /><path d =" M2 12h20" /><path d =" M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z" /></svg >
108+ Network Zoo
109+ </a >
103110 <a href =" /for/setups" >
104111 <svg viewBox =" 0 0 24 24" ><circle cx =" 12" cy =" 12" r =" 3" /><path d =" M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z" /></svg >
105- Setups
112+ Org Zoo
106113 </a >
107114 </div >
108115 </div >
109116 <a href =" /plans" class ={ active === ' plans' ? ' active' : ' ' } ><svg class =" nav-icon" viewBox =" 0 0 24 24" ><path d =" M12 2L2 7l10 5 10-5-10-5z" /><path d =" M2 17l10 5 10-5" /><path d =" M2 12l10 5 10-5" /></svg >Plans</a >
110117 <a href =" /blog/" class ={ active === ' blog' ? ' active' : ' ' } >
111118 <svg class =" nav-icon" viewBox =" 0 0 24 24" ><path d =" M12 20h9" /><path d =" M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4z" /></svg >Blog
112119 </a >
113- </div >
114- <div class =" nav-divider" ></div >
115- <div class =" nav-center" >
116- { active === ' home' ? (
117- <a href = " #contact" >
118- <svg class = " nav-icon" viewBox = " 0 0 24 24" ><path d = " M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z" /><polyline points = " 22,6 12,13 2,6" /></svg >Contact Us
119- </a >
120- ) : (
121- <a href = " /docs/" class = { active === ' docs' ? ' active' : ' ' } >
122- <svg class = " nav-icon" viewBox = " 0 0 24 24" ><path d = " M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" /><polyline points = " 14 2 14 8 20 8" /></svg >Docs
123- </a >
124- )}
120+ <a href =" /docs/" class ={ active === ' docs' ? ' active' : ' ' } >
121+ <svg class =" nav-icon" viewBox =" 0 0 24 24" ><path d =" M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" /><polyline points =" 14 2 14 8 20 8" /></svg >Docs
122+ </a >
125123 </div >
126124 <div class =" nav-right" >
127- { active === ' home' ? (
128- <a class = " gh-stars" href = " https://github.com/TeoSlayer/pilotprotocol" title = " Star on GitHub" >
129- <svg width = " 16" height = " 16" viewBox = " 0 0 24 24" fill = " currentColor" ><path d = " M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z" /></svg >
130- <svg class = " gh-star-icon" width = " 14" height = " 14" viewBox = " 0 0 24 24" fill = " none" stroke = " currentColor" stroke-width = " 2" ><polygon points = " 12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" /></svg >
131- <span class = " gh-count" id = " gh-star-count" ></span >
132- </a >
133- ) : (
134- <a class = " gh-link" href = " https://github.com/TeoSlayer/pilotprotocol" title = " GitHub" >
135- <svg width = " 18" height = " 18" viewBox = " 0 0 24 24" fill = " currentColor" ><path d = " M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z" /></svg >
136- </a >
137- )}
138- <a class =" nav-cta" href ={ active === ' home' ? ' #install' : ' /docs/getting-started' } >Get Started</a >
125+ <a class =" gh-link" href =" https://github.com/TeoSlayer/pilotprotocol" title =" GitHub" >
126+ <svg width =" 18" height =" 18" viewBox =" 0 0 24 24" fill =" currentColor" ><path d =" M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z" /></svg >
127+ </a >
128+ <a class =" nav-cta" href =" /docs/getting-started" >Get Started</a >
139129 <button class =" nav-hamburger" onclick =" document .querySelector (' .nav-mobile' ).classList .toggle (' open' )" aria-label =" Menu" >
140130 <svg viewBox =" 0 0 24 24" ><line x1 =" 3" y1 =" 6" x2 =" 21" y2 =" 6" /><line x1 =" 3" y1 =" 12" x2 =" 21" y2 =" 12" /><line x1 =" 3" y1 =" 18" x2 =" 21" y2 =" 18" /></svg >
141131 </button >
@@ -144,15 +134,14 @@ const { active } = Astro.props;
144134 <div class =" mob-label" >Solutions</div >
145135 <a href =" /for/mcp" ><svg viewBox =" 0 0 24 24" ><rect x =" 2" y =" 3" width =" 20" height =" 14" rx =" 2" ry =" 2" /><line x1 =" 8" y1 =" 21" x2 =" 16" y2 =" 21" /><line x1 =" 12" y1 =" 17" x2 =" 12" y2 =" 21" /></svg >For MCP Servers</a >
146136 <a href =" /for/p2p" ><svg viewBox =" 0 0 24 24" ><circle cx =" 18" cy =" 5" r =" 3" /><circle cx =" 6" cy =" 12" r =" 3" /><circle cx =" 18" cy =" 19" r =" 3" /><line x1 =" 8.59" y1 =" 13.51" x2 =" 15.42" y2 =" 17.49" /><line x1 =" 15.41" y1 =" 6.51" x2 =" 8.59" y2 =" 10.49" /></svg >For P2P Agents</a >
137+ <div class =" mob-label" >Zoos</div >
147138 <a href =" /for/skills" ><svg viewBox =" 0 0 24 24" ><path d =" M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z" /><polyline points =" 3.27 6.96 12 12.01 20.73 6.96" /><line x1 =" 12" y1 =" 22.08" x2 =" 12" y2 =" 12" /></svg >Skill Zoo</a >
148- <a href =" /for/setups" ><svg viewBox =" 0 0 24 24" ><circle cx =" 12" cy =" 12" r =" 3" /><path d =" M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z" /></svg >Setups</a >
139+ <a href =" /for/networks" ><svg viewBox =" 0 0 24 24" ><circle cx =" 12" cy =" 12" r =" 10" /><path d =" M2 12h20" /><path d =" M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z" /></svg >Network Zoo</a >
140+ <a href =" /for/setups" ><svg viewBox =" 0 0 24 24" ><circle cx =" 12" cy =" 12" r =" 3" /><path d =" M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z" /></svg >Org Zoo</a >
149141 <div class =" mob-label" >Navigate</div >
150142 <a href =" /plans" ><svg viewBox =" 0 0 24 24" ><path d =" M12 2L2 7l10 5 10-5-10-5z" /><path d =" M2 17l10 5 10-5" /><path d =" M2 12l10 5 10-5" /></svg >Plans</a >
151143 <a href =" /blog/" ><svg viewBox =" 0 0 24 24" ><path d =" M12 20h9" /><path d =" M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4z" /></svg >Blog</a >
152144 <a href =" /docs/" ><svg viewBox =" 0 0 24 24" ><path d =" M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" /><polyline points =" 14 2 14 8 20 8" /></svg >Docs</a >
153- { active === ' home' && (
154- <a href = " #contact" ><svg viewBox = " 0 0 24 24" ><path d = " M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z" /><polyline points = " 22,6 12,13 2,6" /></svg >Contact Us</a >
155- )}
156145 </div >
157146 </div >
158147</nav >
0 commit comments