feat(web): country-code picker, auth-aware header, dedupe new-server CTA
All checks were successful
Deploy to Production / deploy (push) Successful in 50s
All checks were successful
Deploy to Production / deploy (push) Successful in 50s
- login: SMS step now has a 60-country dial-code <select> (CH default) and a national-number input, combined into strict E.164 client-side - marketing header: probe /v1/auth/me, show "Dashboard" when signed in instead of the Sign in / Start building CTAs - dashboard overview: drop the duplicate "+ New server" button, the navbar one is the single source Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
'use client';
|
||||
|
||||
import Link from 'next/link';
|
||||
import { useEffect, useState } from 'react';
|
||||
import { apiFetch } from '@/lib/api';
|
||||
import { StatusPill } from '@/components/status-pill';
|
||||
import { Button } from '@/components/ui/button';
|
||||
import { apiFetch } from '@/lib/api';
|
||||
import Link from 'next/link';
|
||||
import { useEffect, useState } from 'react';
|
||||
|
||||
interface ServerRow {
|
||||
id: string;
|
||||
@@ -37,19 +37,11 @@ export default function Overview() {
|
||||
|
||||
return (
|
||||
<div className="mx-auto max-w-7xl px-6 py-8">
|
||||
<div className="flex items-baseline justify-between">
|
||||
<div>
|
||||
<h1 className="text-[22px] font-semibold tracking-tight">Overview</h1>
|
||||
<p className="mt-1 text-[13px] text-[--color-fg-muted]">
|
||||
Your MCP servers, calls and recent builds.
|
||||
</p>
|
||||
</div>
|
||||
<Link
|
||||
href="/servers/new"
|
||||
className="inline-flex h-8 items-center gap-2 rounded-md bg-[--color-accent] px-3 text-[13px] font-medium text-white transition-colors duration-200 hover:bg-[#5557e8]"
|
||||
>
|
||||
+ New server
|
||||
</Link>
|
||||
<div>
|
||||
<h1 className="text-[22px] font-semibold tracking-tight">Overview</h1>
|
||||
<p className="mt-1 text-[13px] text-[--color-fg-muted]">
|
||||
Your MCP servers, calls and recent builds.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div className="mt-6 grid gap-3 md:grid-cols-3">
|
||||
@@ -61,7 +53,10 @@ export default function Overview() {
|
||||
<div className="mt-10">
|
||||
<div className="flex items-center justify-between">
|
||||
<h2 className="text-[14px] font-semibold tracking-tight">Recent servers</h2>
|
||||
<Link href="/servers" className="text-[12px] text-[--color-fg-muted] hover:text-[--color-fg]">
|
||||
<Link
|
||||
href="/servers"
|
||||
className="text-[12px] text-[--color-fg-muted] hover:text-[--color-fg]"
|
||||
>
|
||||
View all →
|
||||
</Link>
|
||||
</div>
|
||||
@@ -94,9 +89,15 @@ export default function Overview() {
|
||||
</thead>
|
||||
<tbody>
|
||||
{servers.slice(0, 5).map((s) => (
|
||||
<tr key={s.id} className="border-b border-[--color-border] last:border-0 hover:bg-[--color-bg-subtle]">
|
||||
<tr
|
||||
key={s.id}
|
||||
className="border-b border-[--color-border] last:border-0 hover:bg-[--color-bg-subtle]"
|
||||
>
|
||||
<td className="px-4 py-2.5">
|
||||
<Link href={`/servers/${s.id}`} className="font-medium hover:text-[--color-accent]">
|
||||
<Link
|
||||
href={`/servers/${s.id}`}
|
||||
className="font-medium hover:text-[--color-accent]"
|
||||
>
|
||||
{s.name}
|
||||
</Link>
|
||||
</td>
|
||||
|
||||
Reference in New Issue
Block a user