Skip to content

Commit ae82baa

Browse files
authored
Merge pull request #119 from shakacode/jg-codex/docs-add-hichee-example
Add HiChee.com to examples
2 parents c4d66f3 + cf53c5d commit ae82baa

2 files changed

Lines changed: 61 additions & 3 deletions

File tree

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) {

0 commit comments

Comments
 (0)