2026-06-11 14:51:55 +07:00
import type { Metadata } from "next" ;
import "./globals.css" ;
import Nav from "@/components/Nav" ;
2026-06-12 03:47:45 +07:00
import AresLogo from "@/components/AresLogo" ;
2026-06-12 00:48:45 +07:00
import { getLatestVersion , GITHUB_URL } from "@/lib/github" ;
2026-06-11 14:51:55 +07:00
2026-06-11 16:50:30 +07:00
const SITE_URL = "https://ares.romys.my.id" ;
2026-06-11 16:30:05 +07:00
2026-06-11 14:51:55 +07:00
export const metadata : Metadata = {
2026-06-11 16:30:05 +07:00
metadataBase : new URL ( SITE_URL ),
title : {
2026-06-12 00:48:45 +07:00
default : "ARES — Algorithmic Trading Bot" ,
2026-06-11 16:30:05 +07:00
template : "%s · ARES" ,
},
description :
2026-06-12 00:48:45 +07:00
"Open-source algorithmic trading bot built in Rust. Momentum FVG scalper with EMA trend filter, automated risk management, and live forward-test results." ,
2026-06-11 16:30:05 +07:00
keywords : [
2026-06-12 00:48:45 +07:00
"algorithmic trading" , "trading bot" , "open source" , "XAUUSD" ,
2026-06-11 16:30:05 +07:00
"MT5 expert advisor" , "Rust trading bot" , "FVG scalper" ,
2026-06-12 00:48:45 +07:00
"forex robot" , "automated trading" , "momentum strategy" ,
2026-06-11 16:30:05 +07:00
],
authors : [{ name : "Romy Saputra Sihananda" }],
creator : "Romy Saputra Sihananda" ,
robots : {
index : true ,
follow : true ,
googleBot : { index : true , follow : true , "max-snippet" : - 1 , "max-image-preview" : "large" },
},
2026-06-11 14:51:55 +07:00
openGraph : {
type : "website" ,
2026-06-11 16:30:05 +07:00
url : SITE_URL ,
siteName : "ARES Trading Bot" ,
2026-06-12 00:48:45 +07:00
title : "ARES — Algorithmic Trading Bot" ,
description : "Open-source Momentum FVG scalper built in Rust · Live forward-test · MT5" ,
2026-06-11 16:30:05 +07:00
locale : "en_US" ,
},
twitter : {
card : "summary_large_image" ,
2026-06-12 00:48:45 +07:00
title : "ARES — Algorithmic Trading Bot" ,
description : "Open-source Momentum FVG scalper built in Rust · Live forward-test · MT5" ,
2026-06-11 16:30:05 +07:00
},
icons : {
icon : "/favicon.svg" ,
shortcut : "/favicon.svg" ,
2026-06-11 14:51:55 +07:00
},
2026-06-11 16:45:40 +07:00
verification : {
google : "DRtj7whxZ3kX0-C9qswORTfHptZPTX9mrqBqwvcN7j8" ,
},
2026-06-11 14:51:55 +07:00
};
2026-06-12 00:48:45 +07:00
export default async function RootLayout ({ children } : { children : React.ReactNode }) {
const version = await getLatestVersion ();
2026-06-11 14:51:55 +07:00
return (
< html lang = "en" >
< body className = "min-h-screen antialiased" >
2026-06-12 02:41:44 +07:00
< div className = "relative z-10" >
2026-06-12 00:48:45 +07:00
< Nav version = { version } />
2026-06-11 14:51:55 +07:00
< main className = "max-w-5xl mx-auto px-4 sm:px-6 py-12" >
{ children }
</ main >
2026-06-11 16:30:05 +07:00
< footer style = {{ borderTop : "1px solid var(--c-hl)" }} className = "mt-24" >
2026-06-11 14:51:55 +07:00
< div className = "max-w-5xl mx-auto px-6 py-16 grid grid-cols-1 sm:grid-cols-3 gap-10" >
< div >
2026-06-11 16:30:05 +07:00
< div className = "flex items-center gap-2 mb-3" >
2026-06-12 03:47:45 +07:00
< AresLogo size = { 24 } />
2026-06-11 16:30:05 +07:00
< span className = "font-mono text-sm font-semibold" style = {{ letterSpacing : "0.18em" , color : "var(--c-ink)" }}> ARES </ span >
2026-06-12 00:48:45 +07:00
{ version && (
< span className = "text-[10px] font-mono text-ink-ter bg-s2 border border-hl px-1.5 py-0.5 rounded" >
{ version }
</ span >
)}
2026-06-11 16:30:05 +07:00
</ div >
2026-06-12 00:48:45 +07:00
< p className = "text-sm leading-relaxed mb-3" style = {{ color : "var(--c-ink-sub)" }}>
Open - source algorithmic trading bot < br /> built in Rust · M5 Momentum FVG
2026-06-11 14:51:55 +07:00
</ p >
2026-06-12 00:48:45 +07:00
< a
href = { GITHUB_URL }
target = "_blank"
rel = "noopener noreferrer"
className = "inline-flex items-center gap-1.5 text-xs text-ink-sub hover:text-ink transition-colors"
>
< svg width = "14" height = "14" viewBox = "0 0 24 24" fill = "currentColor" >
< path d = "M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" />
</ svg >
View on GitHub
</ a >
2026-06-11 14:51:55 +07:00
</ div >
< div >
2026-06-11 16:30:05 +07:00
< p className = "eyebrow mb-4" > Navigation </ p >
< ul className = "space-y-2 text-sm" style = {{ color : "var(--c-ink-sub)" }}>
2026-06-11 14:51:55 +07:00
< li >< a href = "/" className = "hover:text-ink transition-colors" > Dashboard </ a ></ li >
< li >< a href = "/trades" className = "hover:text-ink transition-colors" > Trades </ a ></ li >
< li >< a href = "/backtest" className = "hover:text-ink transition-colors" > Backtest </ a ></ li >
2026-06-12 00:48:45 +07:00
< li >
< a href = { GITHUB_URL } target = "_blank" rel = "noopener noreferrer" className = "hover:text-ink transition-colors" >
GitHub ↗
</ a >
</ li >
2026-06-11 14:51:55 +07:00
</ ul >
</ div >
< div >
2026-06-11 16:30:05 +07:00
< p className = "eyebrow mb-4" > Disclaimer </ p >
< p className = "text-xs leading-relaxed" style = {{ color : "var(--c-ink-ter)" }}>
2026-06-11 14:51:55 +07:00
Past performance does not guarantee future results . Demo account forward test . Not financial advice .
</ p >
</ div >
</ div >
</ footer >
2026-06-12 02:41:44 +07:00
</ div >
2026-06-11 14:51:55 +07:00
</ body >
</ html >
);
}