Files
vibn-agent-runner/vibn-frontend/app/[workspace]/project/[projectId]/(home)/domains/page.tsx
mawkone eb198e2d4d ship: project dashboard pages + sidebar/chat overhaul + log tooling
Ships accumulated WIP that was sitting uncommitted:
- New (home) dashboard route pages: overview, code, data/tables, hosting,
  infrastructure, services, domains, integrations, agents, analytics, api,
  automations, billing, logs, market, marketing(+seo/social), product, security,
  storage, users, settings(app/auth).
- dashboard-sidebar, project-icon-rail, chat-panel updates; mcp + anatomy route
  changes; package.json/lock dependency bumps.
- Coolify log tooling (scripts/fetch-app-logs.mjs + fetch-app-logs-ssh.mjs) and
  ai-new-thread.md "Fetching Production Logs" section.

Excludes throwaway debug scripts and telemetry audit dumps (the latter contain
live credentials and must not be committed).
2026-06-12 18:09:09 -07:00

228 lines
5.9 KiB
TypeScript

"use client";
import { Copy } from "lucide-react";
export default function DomainsPage() {
return (
<div
style={{
padding: "32px 48px",
fontFamily: '"Outfit", "Inter", sans-serif',
color: "#18181b",
maxWidth: 900,
}}
>
<div style={{ marginBottom: 32 }}>
<h1
style={{ fontSize: "1.5rem", fontWeight: 600, margin: "0 0 4px 0" }}
>
Domains
</h1>
<p style={{ fontSize: "0.9rem", color: "#71717a", margin: 0 }}>
Buy, connect and manage your domains.{" "}
<a href="#" style={{ color: "#18181b", textDecoration: "underline" }}>
Learn more
</a>
</p>
</div>
<div
style={{
background: "#fff",
border: "1px solid #e4e4e7",
borderRadius: 12,
padding: "24px",
marginBottom: 32,
}}
>
<div
style={{
display: "flex",
justifyContent: "space-between",
alignItems: "center",
marginBottom: 16,
}}
>
<div style={{ display: "flex", alignItems: "center", gap: 8 }}>
<h2 style={{ fontSize: "1rem", fontWeight: 600, margin: 0 }}>
Built-in URL
</h2>
</div>
<button
style={{
background: "#fff",
border: "1px solid #e4e4e7",
borderRadius: 6,
padding: "6px 12px",
fontSize: "0.85rem",
fontWeight: 500,
cursor: "pointer",
}}
>
Edit URL
</button>
</div>
<div style={{ display: "flex", alignItems: "center", gap: 8 }}>
<div
style={{
flex: 1,
background: "#fafafa",
border: "1px solid #e4e4e7",
borderRadius: 8,
padding: "10px 16px",
fontSize: "0.9rem",
color: "#71717a",
display: "flex",
alignItems: "center",
}}
>
<span style={{ color: "#18181b", fontWeight: 500 }}>
steadfast-camp-core-flow
</span>
.vibn.app
</div>
<button
style={{
width: 40,
height: 40,
display: "flex",
alignItems: "center",
justifyContent: "center",
background: "#fff",
border: "1px solid #e4e4e7",
borderRadius: 8,
cursor: "pointer",
}}
>
<Copy size={16} color="#71717a" />
</button>
</div>
</div>
<h2 style={{ fontSize: "1.1rem", fontWeight: 600, margin: "0 0 16px 0" }}>
Custom domains
</h2>
<div
style={{
background: "#fff",
border: "1px solid #e4e4e7",
borderRadius: 12,
borderStyle: "dashed",
padding: "48px 32px",
display: "flex",
flexDirection: "column",
alignItems: "center",
justifyContent: "center",
marginBottom: 32,
}}
>
<h3
style={{ fontSize: "1.1rem", fontWeight: 600, margin: "0 0 8px 0" }}
>
Want to use your domain?
</h3>
<p
style={{
fontSize: "0.95rem",
color: "#71717a",
textAlign: "center",
maxWidth: 400,
margin: "0 0 24px 0",
lineHeight: 1.5,
}}
>
Custom domains are available on our Builder plan and above. Upgrade to
continue working to this app.
</p>
<button
style={{
background: "#18181b",
color: "#fff",
border: "none",
borderRadius: 8,
padding: "10px 24px",
fontSize: "0.9rem",
fontWeight: 600,
cursor: "pointer",
}}
>
View Plans
</button>
</div>
<div
style={{
background: "#fff",
border: "1px solid #e4e4e7",
borderRadius: 12,
padding: "24px",
}}
>
<div
style={{
display: "flex",
justifyContent: "space-between",
alignItems: "flex-start",
marginBottom: 16,
}}
>
<div>
<div
style={{
display: "flex",
alignItems: "center",
gap: 8,
marginBottom: 16,
}}
>
<h2 style={{ fontSize: "1rem", fontWeight: 600, margin: 0 }}>
Email domain
</h2>
<span
style={{
fontSize: "0.75rem",
fontWeight: 600,
color: "#f97316",
border: "1px solid #ffedd5",
background: "#fff7ed",
padding: "2px 6px",
borderRadius: 4,
}}
>
Builder+
</span>
</div>
<div
style={{
fontSize: "0.95rem",
fontWeight: 500,
color: "#18181b",
marginBottom: 4,
}}
>
no-reply@notifications.vibn.app
</div>
<div style={{ fontSize: "0.85rem", color: "#71717a" }}>
Sender Name: App
</div>
</div>
<button
style={{
background: "#fff",
border: "1px solid #e4e4e7",
borderRadius: 6,
padding: "8px 16px",
fontSize: "0.85rem",
fontWeight: 500,
cursor: "pointer",
color: "#71717a",
}}
>
Use your custom domain
</button>
</div>
</div>
</div>
);
}