Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
dd6154c
Add compute page first stage
Apr 30, 2026
d7c463f
Update children
Apr 30, 2026
5621589
Update flex positioning
Apr 30, 2026
bba9660
Update how-it-works
Apr 30, 2026
674de46
Update flex distance
Apr 30, 2026
121e62d
Add globe hero to compute page
May 4, 2026
72bced2
remove import
May 4, 2026
021de20
Improve fade in
May 4, 2026
9551710
Update cobeglobe performance
May 4, 2026
2f94a9a
Add network component
May 4, 2026
25ec2b9
Add network globe and fix build
May 4, 2026
288fc1a
Push no networkglobe
May 4, 2026
42963ad
remove both globes
May 4, 2026
6d8405d
Add back globes and fix issues*
May 4, 2026
64d5e61
Remove hero globe
May 4, 2026
d297c0e
Fix globe hero
May 4, 2026
ccd5ec9
Update location/zone legend
May 4, 2026
a822db8
Update how-it-works icons
May 4, 2026
a6bf6e3
Optimise animations
May 4, 2026
7c6e1a0
Update how it works
May 4, 2026
d690cde
Add dynamic updates
May 4, 2026
d3bb903
Update live pulse
May 4, 2026
eadbbf3
Update font families
May 4, 2026
567d8f0
update type
May 4, 2026
eb14522
feat(docs): add compute docs content
mhartington May 4, 2026
fe37564
docs(compue): fix builds
mhartington May 4, 2026
8e9bf0f
docs(compue): fix builds
mhartington May 4, 2026
73fde4c
Update fonts
May 5, 2026
29afa36
Pretty text on title
May 5, 2026
57434ef
Update icons
May 5, 2026
95786ef
Update icons
May 5, 2026
3ba1aad
Update fonts for <h2> and eyebrow
May 5, 2026
c6f84a5
Update margin for 02/features
May 5, 2026
9af3564
Update navbar
May 5, 2026
9ab7d7b
Update font-size for text 4xl and 5xl
May 5, 2026
1c29864
feat(docs): add Netlify and Vercel Compute migration guides
aidankmcalister May 5, 2026
d68d391
feat(site): homepage rework
mhartington May 6, 2026
1fd0625
Merge branch 'main' into feat/DR-8328-compute-page
mhartington May 6, 2026
56f9d16
design rework
mhartington May 7, 2026
7928ca7
seo audit of homepage
mhartington May 7, 2026
264152d
adjust images
mhartington May 7, 2026
a62d7f5
update
mhartington May 8, 2026
0207963
staging
mhartington May 11, 2026
7b0a394
clean up
mhartington May 11, 2026
7c2a889
copy(compute): align landing page copy with messaging skills + SEO (#…
ankur-arch Jun 4, 2026
f7dae37
copy(site): align touched marketing pages with messaging skills (#7930)
ankur-arch Jun 4, 2026
155af9a
Merge remote-tracking branch 'origin/main' into feat/DR-8328-compute-…
ankur-arch Jun 4, 2026
75a91b6
feat(site): align compute + homepage copy, nav, and CTAs with messaging
ankur-arch Jun 4, 2026
f8a8b0b
copy(site): retitle hero, tighten subhead, fix deploy domain in anima…
ankur-arch Jun 4, 2026
741258d
fix(site): adopt main's revert of consent-gated PostHog capture
ankur-arch Jun 4, 2026
ad93f85
feat(site): refine Prisma Compute messaging and landing page for beta
ankur-arch Jun 8, 2026
f4d3719
feat(site): align landing hero with positioning doc
ankur-arch Jun 8, 2026
fbebabf
fix(site): hero spacing and align landing Explore CTAs
ankur-arch Jun 8, 2026
9dfe7c1
fix(site): landing CTA sizing/alignment and tighter section spacing
ankur-arch Jun 8, 2026
a6767ca
fix(site): Postgres card button spacing and tighter hero gap
ankur-arch Jun 8, 2026
936b703
fix(site): equal-height comparison cards in "What makes it unique"
ankur-arch Jun 8, 2026
9751beb
fix(site): style starter-app commands as code snippets
ankur-arch Jun 8, 2026
b6342a4
fix(site): make Compute deploy copy coherent and tab cursor
ankur-arch Jun 9, 2026
f836953
Update apps/site/src/app/pricing/pricing-page-content.tsx
ankur-arch Jun 10, 2026
ec59f99
Merge branch 'main' into feat/DR-8328-compute-page
ankur-arch Jun 10, 2026
9371b13
Merge remote-tracking branch 'origin/main' into feat/DR-8328-compute-…
ankur-arch Jun 10, 2026
ece0c6d
chore: remove compute docs from PR, keep web changes
ankur-arch Jun 10, 2026
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
19 changes: 8 additions & 11 deletions apps/blog/src/app/(blog)/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@ export function baseOptions() {
{
text: "Products",
sub: [
{
text: "Compute",
url: "https://www.prisma.io/compute",
desc: "Deploy TypeScript to production",
icon: "fa-regular fa-microchip",
},
{
text: "Postgres",
url: "https://www.prisma.io/postgres",
Expand All @@ -20,7 +26,7 @@ export function baseOptions() {
{
text: "ORM",
url: "https://www.prisma.io/orm",
desc: "Managed Postgres for global workloads",
desc: "Type-safe ORM for TypeScript and Node.js",
icon: "fa-regular fa-database",
},
{
Expand All @@ -29,12 +35,6 @@ export function baseOptions() {
url: "https://www.prisma.io/studio",
desc: "Explore and manipulate your data",
},
{
icon: "fa-regular fa-bolt",
text: "Accelerate",
desc: "Make your database global",
url: "https://www.prisma.io/accelerate",
},
],
},
{
Expand Down Expand Up @@ -105,10 +105,7 @@ export default function Layout({ children }: { children: React.ReactNode }) {
return (
<ThemeProvider defaultTheme="system" storageKey="theme">
<UtmPersistence />
<NavigationWrapper
links={baseOptions().links}
utm={{ source: "website", medium: "blog" }}
/>
<NavigationWrapper links={baseOptions().links} utm={{ source: "website", medium: "blog" }} />
{children}
<Footer basePath="/blog" />
</ThemeProvider>
Expand Down
155 changes: 85 additions & 70 deletions apps/docs/src/app/global.css
Original file line number Diff line number Diff line change
@@ -1,106 +1,121 @@
@import "tailwindcss";
@import "@prisma/eclipse/styles/globals.css";

/* Forward the design-token font variables to the next/font/local preloaded
families. This :root block intentionally comes after the @import above so
it wins the cascade at equal specificity. The var() fallbacks preserve the
original CSS @font-face names in case --font-mona-sans / --font-mona-mono
are ever absent. */
:root {
--font-sans-display:
var(--font-mona-sans, "Mona Sans VF"), "Inter", "Roboto",
"Helvetica Neue", "Arial Nova", "Nimbus Sans", "Arial", sans-serif;
--font-mono:
var(--font-mona-mono, "Mona Sans Mono VF"), ui-monospace,
"Cascadia Code", "Source Code Pro", "Menlo", "Consolas",
"DejaVu Sans Mono", monospace;
}
@import "fumadocs-ui/css/shadcn.css";
@import "fumadocs-ui/css/preset.css";
@import "fumadocs-openapi/css/preset.css";
@import "@prisma-docs/ui/styles";
@source "../../node_modules/streamdown/dist/*.js";
Comment thread
ankur-arch marked this conversation as resolved.

#nd-sidebar {
@apply border-e;
background-color: var(--color-background);
@apply border-e;
background-color: var(--color-background);
}

header &[data-search-full] {
@apply rounded-xl;
@apply rounded-xl;
}

/* [data-header-tabs], */
[data-header-body] {
@apply border-none;
@apply border-none;
}

#nd-page {
@apply @container;
@apply @container;
}

/* Hide reCAPTCHA badge from Kapa SDK - terms are in footer */
.grecaptcha-badge {
visibility: hidden !important;
visibility: hidden !important;
}

@layer utilities {
.glitch {
position: relative;
}

.glitch::before,
.glitch::after {
content: attr(data-text);
position: absolute;
top: 0;
left: 0;
width: 100%;
overflow: hidden;
}

.glitch::before {
left: 2px;
text-shadow: -2px 0 red;
animation: glitch-1 2s infinite linear alternate-reverse;
}

.glitch::after {
left: -2px;
text-shadow: -2px 0 cyan;
animation: glitch-2 1.5s infinite linear alternate-reverse;
}

@keyframes glitch-1 {
0% {
clip-path: inset(20% 0 60% 0);
}
20% {
clip-path: inset(10% 0 85% 0);
}
40% {
clip-path: inset(40% 0 40% 0);
}
60% {
clip-path: inset(80% 0 5% 0);
.glitch {
position: relative;
}
80% {
clip-path: inset(50% 0 30% 0);
}
100% {
clip-path: inset(25% 0 55% 0);
}
}

@keyframes glitch-2 {
0% {
clip-path: inset(80% 0 5% 0);
.glitch::before,
.glitch::after {
content: attr(data-text);
position: absolute;
top: 0;
left: 0;
width: 100%;
overflow: hidden;
}
20% {
clip-path: inset(50% 0 30% 0);
}
40% {
clip-path: inset(20% 0 60% 0);

.glitch::before {
left: 2px;
text-shadow: -2px 0 red;
animation: glitch-1 2s infinite linear alternate-reverse;
}
60% {
clip-path: inset(10% 0 85% 0);

.glitch::after {
left: -2px;
text-shadow: -2px 0 cyan;
animation: glitch-2 1.5s infinite linear alternate-reverse;
}
80% {
clip-path: inset(40% 0 40% 0);

@keyframes glitch-1 {
0% {
clip-path: inset(20% 0 60% 0);
}
20% {
clip-path: inset(10% 0 85% 0);
}
40% {
clip-path: inset(40% 0 40% 0);
}
60% {
clip-path: inset(80% 0 5% 0);
}
80% {
clip-path: inset(50% 0 30% 0);
}
100% {
clip-path: inset(25% 0 55% 0);
}
}
100% {
clip-path: inset(75% 0 15% 0);

@keyframes glitch-2 {
0% {
clip-path: inset(80% 0 5% 0);
}
20% {
clip-path: inset(50% 0 30% 0);
}
40% {
clip-path: inset(20% 0 60% 0);
}
60% {
clip-path: inset(10% 0 85% 0);
}
80% {
clip-path: inset(40% 0 40% 0);
}
100% {
clip-path: inset(75% 0 15% 0);
}
}
}
}
@media (prefers-reduced-motion: reduce) {
.glitch::before,
.glitch::after {
animation: none;
}
.glitch::before,
.glitch::after {
animation: none;
}
}
25 changes: 25 additions & 0 deletions apps/docs/src/app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { Provider } from "@/components/provider";
import { getBaseUrl } from "@/lib/urls";
import "./global.css";
import { Inter, Barlow } from "next/font/google";
import localFont from "next/font/local";
import type { Metadata } from "next";
import type { ReactNode } from "react";
import Script from "next/script";
Expand All @@ -18,6 +19,30 @@ const barlow = Barlow({
variable: "--font-barlow",
});

const monaSans = localFont({
src: [
{
path: "../../../../packages/eclipse/src/static/fonts/MonaSansVF[wdth,wght,opsz,ital].woff2",
weight: "200 900",
style: "normal",
},
{
path: "../../../../packages/eclipse/src/static/fonts/MonaSansVF[wdth,wght,opsz,ital].woff2",
weight: "200 900",
style: "italic",
},
],
variable: "--font-mona-sans",
display: "swap",
});

const monaSansMono = localFont({
src: "../../../../packages/eclipse/src/static/fonts/MonaSansMonoVF[wght].woff2",
variable: "--font-mona-mono",
display: "swap",
weight: "200 900",
});

export const metadata: Metadata = {
metadataBase: new URL(getBaseUrl()),
title: {
Expand Down
5 changes: 5 additions & 0 deletions apps/eclipse/content/design-system/tokens/typography.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,10 @@ Title styles use the **Mona Sans VF** display font with heavy weights and extend
<p className="text-xs font-mono text-foreground-neutral-weak mb-2">.type-title-3xl &middot; 30px/36px &middot; weight 900 &middot; width 125</p>
<p className="type-title-3xl">The quick brown fox jumps over the lazy dog</p>
</div>
<div className="space-y-1 p-4 border border-stroke-neutral rounded-lg">
<p className="text-xs font-mono text-foreground-neutral-weak mb-2">.type-title-2xl &middot; 24px/32px &middot; weight 800 &middot; width 110</p>
<p className="type-title-2xl">The quick brown fox jumps over the lazy dog</p>
</div>
<div className="space-y-1 p-4 border border-stroke-neutral rounded-lg">
<p className="text-xs font-mono text-foreground-neutral-weak mb-2">.type-title-xl &middot; 20px/28px &middot; weight 800 &middot; width 110</p>
<p className="type-title-xl">The quick brown fox jumps over the lazy dog</p>
Expand All @@ -69,6 +73,7 @@ Title styles use the **Mona Sans VF** display font with heavy weights and extend
| `type-title-5xl` | Mona Sans VF | 64px (4rem) | 72px (4.5rem) | 900 | 125 | |
| `type-title-4xl` | Mona Sans VF | 40px (2.5rem) | 48px (3rem) | 900 | 125 | |
| `type-title-3xl` | Mona Sans VF | 30px (1.875rem) | 36px (2.25rem) | 900 | 125 | |
| `type-title-2xl` | Mona Sans VF | 24px (1.5rem) | 32px (2rem) | 800 | 110 | |
| `type-title-xl` | Mona Sans VF | 20px (1.25rem) | 28px (1.75rem) | 800 | 110 | |
| `type-title-lg` | Mona Sans VF | 18px (1.125rem) | 28px (1.75rem) | 800 | 110 | |
| `type-title-md` | Mona Sans VF | 16px (1rem) | 24px (1.5rem) | 800 | 110 | |
Expand Down
26 changes: 20 additions & 6 deletions apps/eclipse/src/app/global.css
Original file line number Diff line number Diff line change
Expand Up @@ -5,26 +5,40 @@
@import "@prisma-docs/ui/styles";

#nd-sidebar {
@apply border-e;
background-color: var(--color-background);
@apply border-e;
background-color: var(--color-background);
}

header &[data-search-full] {
@apply rounded-xl;
@apply rounded-xl;
}

/* [data-header-tabs], */
[data-header-body] {
@apply border-none;
@apply border-none;
}

#nd-page {
@apply @container;
@apply @container;
}
h1,
h2,
h3,
h4,
h5 {
font-family: var(--font-sans-display);
font-family: var(--font-sans-display);
}

/* Wire next/font/local preloaded fonts into the design-token variables.
Declared after the @import so this :root wins on cascade order (same
specificity, later position). Falls back to the @font-face family names
from fonts.css if the CSS variables haven't been set yet. */
:root {
--font-sans-display:
var(--font-mona-sans, "Mona Sans VF"), "Inter", "Roboto",
"Helvetica Neue", "Arial Nova", "Nimbus Sans", "Arial", sans-serif;
--font-mono:
var(--font-mona-mono, "Mona Sans Mono VF"), ui-monospace,
"Cascadia Code", "Source Code Pro", "Menlo", "Consolas",
"DejaVu Sans Mono", monospace;
}
38 changes: 36 additions & 2 deletions apps/eclipse/src/app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { Provider } from "@/components/provider";
import Script from "next/script";
import "./global.css";
import { Inter, Barlow } from "next/font/google";
import localFont from "next/font/local";
import { FontAwesomeScript as EclipseFA } from "@prisma/eclipse";

const inter = Inter({
Expand All @@ -15,11 +16,44 @@ const barlow = Barlow({
variable: "--font-barlow",
});

const monaSans = localFont({
src: [
{
path: "../../../../packages/eclipse/src/static/fonts/MonaSansVF[wdth,wght,opsz,ital].woff2",
weight: "200 900",
style: "normal",
},
{
path: "../../../../packages/eclipse/src/static/fonts/MonaSansVF[wdth,wght,opsz,ital].woff2",
weight: "200 900",
style: "italic",
},
],
variable: "--font-mona-sans",
display: "swap",
});

const monaSansMono = localFont({
src: "../../../../packages/eclipse/src/static/fonts/MonaSansMonoVF[wght].woff2",
variable: "--font-mona-mono",
display: "swap",
weight: "200 900",
});

export default function Layout({ children }: LayoutProps<"/">) {
return (
<html lang="en" className={`${inter.variable} ${barlow.variable}`} suppressHydrationWarning>
<html
lang="en"
className={`${inter.variable} ${barlow.variable} ${monaSans.variable} ${monaSansMono.variable}`}
suppressHydrationWarning
>
<head>
<Script src={EclipseFA} crossOrigin="anonymous" async data-auto-add-css="false" />
<Script
src={EclipseFA}
crossOrigin="anonymous"
async
data-auto-add-css="false"
/>
<Script
src="https://widget.kapa.ai/kapa-widget.bundle.js"
data-website-id="1b51bb03-43cc-4ef4-95f1-93288a91b560"
Expand Down
Loading
Loading