Skip to content

Commit b1b5385

Browse files
committed
Merge remote-tracking branch 'origin/main' into jg-conductor/home-quick-start-prompts
* origin/main: Normalize UI label capitalization to sentence case (#123) Restore footer consultation link (revert footer dedupe) Revise CTA consistency: keep intentional labels/destinations, dedupe footer Unify demo naming, live demo URL, and consultation CTA on marketing pages Point Gumroad demo at gumroad.reactonrails.com and add screenshot Point Octochangelog demo at changelog.reactonrails.com and add screenshot Show HiChee as a live React on Rails example # Conflicts: # prototypes/docusaurus/src/pages/index.tsx
2 parents cd95434 + c92b32a commit b1b5385

9 files changed

Lines changed: 78 additions & 16 deletions

File tree

prototypes/docusaurus/docusaurus.config.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ const config: Config = {
135135
{to: '/pro', label: 'React on Rails Pro', position: 'left'},
136136
{
137137
href: 'https://www.shakacode.com/contact/',
138-
label: 'Get Expert Help',
138+
label: 'Get expert help',
139139
position: 'right',
140140
className: 'navbar-cta',
141141
},
@@ -158,15 +158,15 @@ const config: Config = {
158158
title: 'Docs',
159159
items: [
160160
{
161-
label: 'Documentation Guide',
161+
label: 'Documentation guide',
162162
to: '/docs',
163163
},
164-
{label: 'Create a New App', to: '/docs/getting-started/create-react-on-rails-app'},
164+
{label: 'Create a new app', to: '/docs/getting-started/create-react-on-rails-app'},
165165
{
166-
label: 'Install into Existing Rails App',
166+
label: 'Install into existing Rails app',
167167
to: '/docs/getting-started/existing-rails-app',
168168
},
169-
{label: 'Quick Start', to: '/docs/getting-started/quick-start'},
169+
{label: 'Quick start', to: '/docs/getting-started/quick-start'},
170170
{label: 'Compare OSS and Pro', to: '/docs/getting-started/oss-vs-pro'},
171171
{label: 'Upgrade to Pro', to: '/docs/pro/upgrading-to-pro'},
172172
{label: 'React on Rails Pro', to: '/docs/pro'},
@@ -192,7 +192,7 @@ const config: Config = {
192192
href: 'https://www.shakacode.com',
193193
},
194194
{
195-
label: 'Book a Complimentary Assessment',
195+
label: 'Book a complimentary assessment',
196196
href: 'https://meetings.hubspot.com/justingordon/30-minute-consultation',
197197
},
198198
],
@@ -205,7 +205,7 @@ const config: Config = {
205205
to: '/pro',
206206
},
207207
{
208-
label: 'Pro Pricing & Sign Up',
208+
label: 'Pro pricing & sign up',
209209
href: 'https://pro.reactonrails.com/',
210210
},
211211
{

prototypes/docusaurus/src/constants/demos.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,8 @@ export const demos: Demo[] = [
6868
tagline:
6969
'An Octochangelog app migrated to React on Rails Pro with Rails routing, React 19, and streamed RSC.',
7070
repoUrl: 'https://github.com/shakacode/react_on_rails-demo-octochangelog-on-rails-pro',
71-
demoUrl: 'https://rails-wt0q7a2r1svry.cpln.app',
71+
demoUrl: 'https://changelog.reactonrails.com',
72+
image: '/img/demos/octochangelog.webp',
7273
category: 'flagship',
7374
featured: true,
7475
},
@@ -78,7 +79,10 @@ export const demos: Demo[] = [
7879
tagline:
7980
'A Gumroad-style creator dashboard comparing Inertia and React on Rails Pro with React 19 and RSC.',
8081
repoUrl: 'https://github.com/shakacode/react-on-rails-demo-gumroad-rsc',
82+
demoUrl: 'https://gumroad.reactonrails.com',
83+
image: '/img/demos/gumroad.webp',
8184
category: 'flagship',
85+
featured: true,
8286
},
8387
];
8488

prototypes/docusaurus/src/css/custom.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ body {
270270
text-decoration: underline;
271271
}
272272

273-
/* "Get Expert Help" navbar CTA */
273+
/* "Get expert help" navbar CTA */
274274
.navbar-cta {
275275
background: var(--ifm-color-primary);
276276
color: #ffffff !important;

prototypes/docusaurus/src/pages/examples.module.css

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,34 @@
4141
gap: 0.9rem;
4242
}
4343

44+
.siteGrid {
45+
max-width: 42rem;
46+
margin-bottom: 3rem;
47+
display: grid;
48+
grid-template-columns: minmax(0, 1fr);
49+
gap: 0.9rem;
50+
}
51+
52+
.siteCard {
53+
border: 1px solid var(--site-border);
54+
border-radius: 8px;
55+
background: var(--site-surface);
56+
padding: 0.95rem;
57+
box-shadow: none;
58+
}
59+
60+
.siteCard h3 {
61+
margin-bottom: 0.45rem;
62+
line-height: 1.12;
63+
}
64+
65+
.siteLink {
66+
display: inline-flex;
67+
align-items: center;
68+
margin-top: 0;
69+
font-weight: 700;
70+
}
71+
4472
@media (max-width: 996px) {
4573
.hero {
4674
padding: 2.1rem 0 1.7rem;

prototypes/docusaurus/src/pages/examples.tsx

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import type {ReactNode} from 'react';
2+
import Link from '@docusaurus/Link';
23
import Layout from '@theme/Layout';
34

45
import {demos, type DemoCategory} from '../constants/demos';
@@ -29,21 +30,50 @@ const demoGroups: DemoGroup[] = [
2930
},
3031
];
3132

33+
const productionSites = [
34+
{
35+
title: 'HiChee.com',
36+
description:
37+
'Production vacation-rental comparison site using React on Rails to help travelers compare Airbnb, Booking.com, Vrbo, and direct-booking prices.',
38+
href: 'https://hichee.com/',
39+
},
40+
];
41+
3242
export default function ExamplesPage(): ReactNode {
3343
return (
3444
<Layout title="Examples" description="React on Rails demo and starter applications">
3545
<main className={styles.main}>
3646
<section className={styles.hero}>
3747
<div className="container">
38-
<p className={styles.kicker}>Demos and starters</p>
39-
<h1>See React on Rails running, then read the source.</h1>
48+
<p className={styles.kicker}>Demos, starters, and production sites</p>
49+
<h1>
50+
See React on Rails running in demos and real products.
51+
</h1>
4052
<p className={styles.lead}>
41-
Every demo links to a live deployment and its source code. Use them to evaluate
53+
Use live deployments, source-backed demos, and production references to evaluate
4254
React on Rails, compare OSS and Pro, or start a new app.
4355
</p>
4456
</div>
4557
</section>
4658

59+
<section className="container">
60+
<div className={styles.sectionHeader}>
61+
<p className={styles.sectionEyebrow}>Production sites</p>
62+
<h2>Live products built with React on Rails.</h2>
63+
</div>
64+
<div className={styles.siteGrid}>
65+
{productionSites.map((site) => (
66+
<article className={styles.siteCard} key={site.title}>
67+
<h3>{site.title}</h3>
68+
<p>{site.description}</p>
69+
<Link className={styles.siteLink} href={site.href}>
70+
Visit site
71+
</Link>
72+
</article>
73+
))}
74+
</div>
75+
</section>
76+
4777
{demoGroups.map((group) => {
4878
const groupDemos = demos.filter((demo) => demo.category === group.category);
4979
if (groupDemos.length === 0) {

prototypes/docusaurus/src/pages/index.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ const valueCards = [
2424
'Use server rendering, hydration, and streaming paths that fit mature Rails deployments.',
2525
},
2626
{
27-
title: 'OSS And Pro',
27+
title: 'OSS and Pro',
2828
description:
2929
'Start with open source docs, then add Pro when SSR throughput, RSC support, or guided support matters.',
3030
},
@@ -142,7 +142,7 @@ function HeroSection() {
142142
</p>
143143
<div className={styles.buttons}>
144144
<Link className="button button--primary button--lg" to={docsRoutes.docsGuide}>
145-
Browse Docs
145+
Browse docs
146146
</Link>
147147
<Link className="button button--secondary button--lg" to="/examples">
148148
Examples

prototypes/docusaurus/src/pages/pro.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,10 @@ const proFeatures = [
4747

4848
const demos = [
4949
{
50-
title: 'LocalHub — RSC performance demo',
50+
title: 'Marketplace — RSC performance demo',
5151
description:
5252
'A marketplace built on Pro + RSC, with Lighthouse reports and bundle-size evidence you can inspect.',
53-
liveHref: 'https://rsc.reactonrails.com/search-performance',
53+
liveHref: 'https://rsc.reactonrails.com',
5454
sourceHref: 'https://github.com/shakacode/react-on-rails-demo-marketplace-rsc',
5555
},
5656
{
41 KB
Loading
55.5 KB
Loading

0 commit comments

Comments
 (0)