Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions components/site/Close.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ import { Frame } from "@/components/ui/Frame";
import { SectionHeader } from "@/components/ui/SectionHeader";
import { FleetStatus } from "@/components/site/FleetStatus";

const wordmarkH = "clamp(4.75rem, 14vw, 11.5rem)";

export function Close() {
return (
<Frame id="contact" tone="paper" className="overflow-hidden">
Expand All @@ -27,10 +29,9 @@ export function Close() {
height={110}
className="block"
style={{
"--wordmark-h": "clamp(4.75rem, 14vw, 11.5rem)",
height: "var(--wordmark-h)",
height: wordmarkH,
width: "auto",
marginLeft: "calc(var(--wordmark-h) * -0.18)",
marginLeft: `calc(${wordmarkH} * -0.18)`,
}}
/>

Expand Down Expand Up @@ -66,9 +67,9 @@ export function Close() {
<a
className="underline-brutal font-semibold tracking-[0.02em]"
style={{ fontSize: "var(--fs-lead)" }}
href={links.runNode}
href={links.docs}
>
run a node
read the docs
<span className="arrow" aria-hidden>
→
</span>
Expand Down
4 changes: 2 additions & 2 deletions components/site/Hero.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,9 @@ export function Hero() {
<a
className="underline-brutal font-semibold tracking-[0.14em] uppercase"
style={{ fontSize: "var(--fs-cta)" }}
href={links.runNode}
href={links.docs}
>
run a node
read the docs
<span className="arrow" aria-hidden>
→
</span>
Expand Down
4 changes: 0 additions & 4 deletions lib/faq.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,4 @@ export const FAQ_ITEMS = [
q: "Can publishers pay on behalf of users?",
a: "Yes. Account abstraction lets a publisher fund a payment channel for their audience, so users pull content with no wallet and no subscription — same free-to-download experience as a public mirror, except the publisher pays peers per megabyte instead of one cloud's egress bill. Default flow is client-pays; publisher-pays is the flag you flip when you want to ship widely without per-user payment friction.",
},
{
q: "Does this work well for AI models?",
a: "Yes — AI is where deCDN's primitives compound. Clients pull large weights from several peers in parallel and saturate their own uplink instead of a single origin's. BLAKE3 chunk addressing lets teams grab one quantisation variant or a single layer without downloading the full checkpoint. And when a model drops and every region pulls it at once, the mesh warms around the demand instead of choking at a central bucket.",
},
] as const;
1 change: 0 additions & 1 deletion lib/links.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ export const links = {
x: "https://x.com/deCDNorg",
litepaper: "/decdn_litepaper.pdf",
docs: "https://docs.decdn.org/overview/introduction",
runNode: "https://docs.decdn.org/overview/introduction",
blog: "/blog/",
contact: "mailto:info@decdn.org",
} as const;
Expand Down
1 change: 0 additions & 1 deletion types/css.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,5 @@ import "react";
declare module "react" {
interface CSSProperties {
"--reveal-delay"?: `${number}ms`;
"--wordmark-h"?: string;
}
}
Loading