feat: add self-serve "Get Started" registration CTA to nav + hero

Visitors previously had no path to create a client account -- only a
Client Login link. Both CTAs now route through aura-auth's /register
with next= pointed at the client portal's service catalog.
This commit is contained in:
khondokartowsif171
2026-08-23 22:28:29 +06:00
parent 46c85f7864
commit ca12491a49
2 changed files with 50 additions and 12 deletions
+13 -8
View File
@@ -123,18 +123,22 @@ const TerminalRain = () => {
const HERO_TXT = {
en: {
pill: "Accepting new projects · Q3 2026",
getStarted: "Get Started Free",
viewServices: "View Services",
getQuote: "Get a Quote",
lastShipped: "Last shipped: 2 days ago",
},
bn: {
pill: "নতুন প্রজেক্ট নেওয়া হচ্ছে · Q3 2026",
getStarted: "ফ্রি শুরু করুন",
viewServices: "সার্ভিস দেখুন",
getQuote: "কোট নিন",
lastShipped: "সর্বশেষ শিপড: ২ দিন আগে",
},
};
// Same self-serve destination as the nav's "Get Started" -- lands a fresh signup straight on the
// client portal's service catalog instead of a blank dashboard.
const HERO_REGISTER_URL = "https://auth.auraajenticai.cloud/register?next=" + encodeURIComponent("https://client.auraajenticai.cloud/services");
const Hero = ({ headlinePrefix, headlineSuffix, lang = "en" }) => {
const D = PORTFOLIO_DATA;
const prefix = headlinePrefix || "Agentic AI &";
@@ -210,24 +214,25 @@ const Hero = ({ headlinePrefix, headlineSuffix, lang = "en" }) => {
{/* CTAs */}
<div style={{ display: "flex", gap: 12, marginTop: 40, flexWrap: "wrap" }}>
<a href="#work" style={{
<a href={HERO_REGISTER_URL} style={{
display: "inline-flex",
alignItems: "center",
gap: 8,
padding: "12px 20px",
background: "var(--text)",
color: "var(--bg)",
background: "linear-gradient(110deg, var(--accent), var(--accent-2))",
color: "#fff",
fontSize: 14,
fontWeight: 500,
borderRadius: 10,
textDecoration: "none",
transition: "transform 0.15s",
}}
onMouseEnter={e => e.currentTarget.style.transform = "translateY(-1px)"}
onMouseLeave={e => e.currentTarget.style.transform = "none"}
>
{t.viewServices} <Icons.Arrow size={14} />
{t.getStarted} <Icons.Arrow size={14} />
</a>
<a href="#contact" style={{
<a href="#work" style={{
display: "inline-flex",
alignItems: "center",
gap: 8,
@@ -240,7 +245,7 @@ const Hero = ({ headlinePrefix, headlineSuffix, lang = "en" }) => {
borderRadius: 10,
textDecoration: "none",
}}>
{t.getQuote} <Icons.ArrowUpRight size={14} />
{t.viewServices} <Icons.ArrowUpRight size={14} />
</a>
</div>
+37 -4
View File
@@ -8,10 +8,14 @@ const NAV_LINKS = [
]
const NAV_TXT = {
en: { search: "Search", getQuote: "Get a Quote", clientLogin: "Client Login" },
bn: { search: "খুঁজুন", getQuote: "কোট নিন", clientLogin: "ক্লায়েন্ট লগইন" },
en: { search: "Search", getQuote: "Get a Quote", clientLogin: "Client Login", getStarted: "Get Started" },
bn: { search: "খুঁজুন", getQuote: "কোট নিন", clientLogin: "ক্লায়েন্ট লগইন", getStarted: "শুরু করুন" },
};
// Where a self-serve account should land right after signing up -- the client portal's own
// service catalog, not a blank dashboard. aura-auth's /register already reads and honors `next`.
const REGISTER_URL = "https://auth.auraajenticai.cloud/register?next=" + encodeURIComponent("https://client.auraajenticai.cloud/services");
const Nav = ({ onCmdK, theme, onToggleTheme, accent, lang, onToggleLang, route }) => {
const [scrolled, setScrolled] = React.useState(false);
const [menuOpen, setMenuOpen] = React.useState(false);
@@ -149,6 +153,20 @@ const Nav = ({ onCmdK, theme, onToggleTheme, accent, lang, onToggleLang, route }
</a>
<a href="https://auth.auraajenticai.cloud/login" className="nav-login-btn" style={{
padding: "8px 12px",
background: "transparent",
border: "1px solid var(--line)",
borderRadius: 8,
color: "var(--text-dim)",
fontSize: 13,
fontWeight: 500,
textDecoration: "none",
whiteSpace: "nowrap",
}}>
{t.clientLogin}
</a>
<a href={REGISTER_URL} className="nav-signup-btn" style={{
display: "flex",
alignItems: "center",
gap: 6,
@@ -161,7 +179,7 @@ const Nav = ({ onCmdK, theme, onToggleTheme, accent, lang, onToggleLang, route }
textDecoration: "none",
whiteSpace: "nowrap",
}}>
{t.clientLogin} <Icons.Arrow size={13} />
{t.getStarted} <Icons.Arrow size={13} />
</a>
</div>
@@ -206,6 +224,7 @@ const Nav = ({ onCmdK, theme, onToggleTheme, accent, lang, onToggleLang, route }
}
@media (max-width: 480px) {
.nav-login-btn { display: none !important; }
.nav-signup-btn { display: none !important; }
.nav-hamburger { display: flex !important; }
}
`}</style>
@@ -283,6 +302,20 @@ const Nav = ({ onCmdK, theme, onToggleTheme, accent, lang, onToggleLang, route }
<a
href="https://auth.auraajenticai.cloud/login"
onClick={() => setMenuOpen(false)}
style={{
padding: "8px 14px",
background: "transparent",
border: "1px solid var(--line)",
color: "var(--text-dim)",
fontSize: 13,
fontWeight: 500,
borderRadius: 8,
textDecoration: "none",
}}
>{t.clientLogin}</a>
<a
href={REGISTER_URL}
onClick={() => setMenuOpen(false)}
style={{
padding: "8px 14px",
background: "var(--text)",
@@ -292,7 +325,7 @@ const Nav = ({ onCmdK, theme, onToggleTheme, accent, lang, onToggleLang, route }
borderRadius: 8,
textDecoration: "none",
}}
>{t.clientLogin}</a>
>{t.getStarted}</a>
</div>
</div>
)}