site: add Telegram bot links (@agentsquant_bot)
All checks were successful
deploy / deploy (push) Successful in 6s
All checks were successful
deploy / deploy (push) Successful in 6s
New src/data/site.ts holds the bot URL (+ slots for X / contract). Linked from the landing header nav, the footer brand chip and the Network column, and the terminal StatusBar. External footer links now open in a new tab. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
b31d378eea
commit
7a2f83f781
3 changed files with 51 additions and 8 deletions
9
src/data/site.ts
Normal file
9
src/data/site.ts
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
/** Site-wide links. Single source of truth — fill X / contract when available. */
|
||||
export const SITE = {
|
||||
/** Telegram alert bot — live verdicts & paper fills, /status /positions /pnl /help. */
|
||||
telegramBot: 'https://t.me/agentsquant_bot',
|
||||
/** Project X / Twitter (fill when available). */
|
||||
x: '',
|
||||
/** $QUANT Solana mint (post-TGE). */
|
||||
contract: '',
|
||||
} as const
|
||||
|
|
@ -2,6 +2,7 @@ import { Link } from 'react-router-dom'
|
|||
import { LogoMark } from '@/components/brand/Logo'
|
||||
import { GlobeCanvas } from '@/components/landing/GlobeCanvas'
|
||||
import { AgentFlow } from '@/components/landing/AgentFlow'
|
||||
import { SITE } from '@/data/site'
|
||||
|
||||
const REAL = [
|
||||
{ k: 'L1', t: 'Live Hyperliquid data', d: 'Real mark price, funding, open interest, volume and OHLC candles — straight from the public API.' },
|
||||
|
|
@ -41,13 +42,23 @@ export function Landing() {
|
|||
<LogoMark className="h-6 w-6" />
|
||||
<span className="font-display text-base font-bold tracking-tight text-bone">Quant<span className="text-muted"> Agent</span></span>
|
||||
</span>
|
||||
<Link
|
||||
to="/terminal"
|
||||
className="flex items-center gap-1.5 font-mono text-micro uppercase tracking-[0.14em] text-muted transition-colors hover:text-accent"
|
||||
>
|
||||
<span className="inline-block h-1.5 w-1.5 rounded-full blink" style={{ background: 'var(--color-long)' }} />
|
||||
Terminal ↗
|
||||
</Link>
|
||||
<nav className="flex items-center gap-5">
|
||||
<a
|
||||
href={SITE.telegramBot}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
className="font-mono text-micro uppercase tracking-[0.14em] text-muted transition-colors hover:text-accent"
|
||||
>
|
||||
Telegram ↗
|
||||
</a>
|
||||
<Link
|
||||
to="/terminal"
|
||||
className="flex items-center gap-1.5 font-mono text-micro uppercase tracking-[0.14em] text-muted transition-colors hover:text-accent"
|
||||
>
|
||||
<span className="inline-block h-1.5 w-1.5 rounded-full blink" style={{ background: 'var(--color-long)' }} />
|
||||
Terminal ↗
|
||||
</Link>
|
||||
</nav>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
|
|
@ -143,6 +154,14 @@ export function Landing() {
|
|||
<span className="inline-block h-1.5 w-1.5 rounded-full blink" style={{ background: 'var(--color-long)' }} />
|
||||
LIVE · HL
|
||||
</span>
|
||||
<a
|
||||
href={SITE.telegramBot}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
className="flex items-center gap-1.5 rounded-sm border border-line-soft px-2 py-1 font-mono text-micro text-muted transition-colors hover:border-line-strong hover:text-bone"
|
||||
>
|
||||
Telegram ↗
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -158,6 +177,7 @@ export function Landing() {
|
|||
{ label: 'L4 · Decision', href: '#how' },
|
||||
]} />
|
||||
<FooterCol title="Network" links={[
|
||||
{ label: 'Telegram bot ↗', href: SITE.telegramBot },
|
||||
{ label: 'Hyperliquid ↗', href: 'https://hyperliquid.xyz' },
|
||||
{ label: 'Hyperliquid docs ↗', href: 'https://hyperliquid.gitbook.io' },
|
||||
]} />
|
||||
|
|
@ -194,7 +214,11 @@ function FooterCol({
|
|||
{l.label}
|
||||
</Link>
|
||||
) : (
|
||||
<a href={l.href} className="font-mono text-micro text-muted transition-colors hover:text-bone">
|
||||
<a
|
||||
href={l.href}
|
||||
{...(l.href?.startsWith('http') ? { target: '_blank', rel: 'noreferrer' } : {})}
|
||||
className="font-mono text-micro text-muted transition-colors hover:text-bone"
|
||||
>
|
||||
{l.label}
|
||||
</a>
|
||||
)}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import { Orchestra } from '@/components/viz/Orchestra'
|
|||
import { AgentWorkflow } from '@/components/viz/AgentWorkflow'
|
||||
import { Onboarding, TOUR_EVENT } from '@/components/Onboarding'
|
||||
import { useScreen } from '@/hooks/useHyperliquid'
|
||||
import { SITE } from '@/data/site'
|
||||
import { fmtPrice, fmtPct, fmtCompact } from '@/lib/format'
|
||||
import type { Direction, Vote } from '@/lib/signals'
|
||||
|
||||
|
|
@ -179,6 +180,15 @@ function StatusBar({ live, ago, stale, onReload }: { live: boolean; ago: number
|
|||
{ago != null && <span className="tnum hidden sm:inline">{ago}s</span>}
|
||||
</button>
|
||||
<span className="tnum hidden text-bone-dim md:inline">{clock} UTC</span>
|
||||
<a
|
||||
href={SITE.telegramBot}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
title="Quant Agent Telegram bot"
|
||||
className="hidden text-faint transition-colors hover:text-accent sm:inline"
|
||||
>
|
||||
Telegram ↗
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue