@rizom/site-rizom-ai 0.2.0-alpha.167 → 0.2.0-alpha.169
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +4 -4
- package/src/home.tsx +49 -4
- package/src/routes.ts +3 -1
- package/src/shared.tsx +2 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rizom/site-rizom-ai",
|
|
3
|
-
"version": "0.2.0-alpha.
|
|
3
|
+
"version": "0.2.0-alpha.169",
|
|
4
4
|
"description": "Rizom AI site package for hosted Rover deployments",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
"prepack": "publish-manifest prepare"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@rizom/site": "0.2.0-alpha.
|
|
22
|
-
"@rizom/site-rizom": "0.2.0-alpha.
|
|
23
|
-
"@rizom/site-sections": "0.2.0-alpha.
|
|
21
|
+
"@rizom/site": "0.2.0-alpha.169",
|
|
22
|
+
"@rizom/site-rizom": "0.2.0-alpha.169",
|
|
23
|
+
"@rizom/site-sections": "0.2.0-alpha.169",
|
|
24
24
|
"preact": "^10.27.2"
|
|
25
25
|
},
|
|
26
26
|
"publishConfig": {
|
package/src/home.tsx
CHANGED
|
@@ -13,13 +13,15 @@ import {
|
|
|
13
13
|
trioSchema,
|
|
14
14
|
ctaSchema,
|
|
15
15
|
delayClass,
|
|
16
|
+
ROOM_HIGHLIGHT_CLS,
|
|
16
17
|
} from "./shared";
|
|
17
18
|
|
|
18
19
|
/**
|
|
19
20
|
* The umbrella home page. The hero is the live agent proximity map (wired in
|
|
20
21
|
* routes.ts as agent-discovery:proximity-map); the sections here tell the
|
|
21
|
-
* story the map opens — the dark it fights (problem),
|
|
22
|
-
* (
|
|
22
|
+
* story the map opens — the dark it fights (problem), the one light that
|
|
23
|
+
* starts it (the product hook), how the network grows (growth), the mission
|
|
24
|
+
* band, the three faces, and the living-proof colophon.
|
|
23
25
|
* Each section is authored from one zod schema (its component's props are
|
|
24
26
|
* `z.infer` of that schema); copy is content-driven, stored as markdown in
|
|
25
27
|
* site-content/home/<section>.md. Only the assembled section group is
|
|
@@ -54,16 +56,54 @@ function HomeGrowthSection({
|
|
|
54
56
|
|
|
55
57
|
function HomeProblemSection({
|
|
56
58
|
cap,
|
|
59
|
+
capNote,
|
|
57
60
|
items,
|
|
58
61
|
}: z.infer<typeof trioSchema>): JSX.Element {
|
|
59
62
|
return (
|
|
60
63
|
<Section id="problem" className="py-14">
|
|
61
|
-
<SectCap lead={cap} />
|
|
64
|
+
<SectCap lead={cap} trail={capNote} />
|
|
62
65
|
<Trio items={items} mono={false} />
|
|
63
66
|
</Section>
|
|
64
67
|
);
|
|
65
68
|
}
|
|
66
69
|
|
|
70
|
+
/* ============ it starts with one light ============ */
|
|
71
|
+
|
|
72
|
+
const oneLightSchema = z.object({
|
|
73
|
+
cap: z.string(),
|
|
74
|
+
capNote: z.string(),
|
|
75
|
+
headline: z.string(),
|
|
76
|
+
intro: z.string(),
|
|
77
|
+
primaryCta: ctaSchema,
|
|
78
|
+
secondaryCta: ctaSchema,
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
function HomeOneLightSection({
|
|
82
|
+
cap,
|
|
83
|
+
capNote,
|
|
84
|
+
headline,
|
|
85
|
+
intro,
|
|
86
|
+
primaryCta,
|
|
87
|
+
secondaryCta,
|
|
88
|
+
}: z.infer<typeof oneLightSchema>): JSX.Element {
|
|
89
|
+
return (
|
|
90
|
+
<Section id="one-light" className="py-14">
|
|
91
|
+
<SectCap lead={cap} trail={capNote} />
|
|
92
|
+
<h2 className="reveal reveal-delay-1 mt-3.5 max-w-[20em] font-display text-[clamp(28px,3vw,40px)] font-[465] leading-[1.1] tracking-[-0.014em] text-theme [font-variation-settings:'SOFT'_78,'opsz'_84]">
|
|
93
|
+
{renderHighlightedText(headline, ROOM_HIGHLIGHT_CLS)}
|
|
94
|
+
</h2>
|
|
95
|
+
<p className="reveal reveal-delay-2 mt-4 max-w-[62ch] font-body text-[17px] leading-[1.7] text-theme-muted">
|
|
96
|
+
{intro}
|
|
97
|
+
</p>
|
|
98
|
+
<CtaRow
|
|
99
|
+
primaryCta={primaryCta}
|
|
100
|
+
secondaryCta={secondaryCta}
|
|
101
|
+
className="reveal reveal-delay-3 mt-6"
|
|
102
|
+
/>
|
|
103
|
+
</Section>
|
|
104
|
+
);
|
|
105
|
+
}
|
|
106
|
+
|
|
67
107
|
/* ============ mission band ============ */
|
|
68
108
|
|
|
69
109
|
const missionSchema = z.object({
|
|
@@ -177,7 +217,12 @@ export const homeSections: SiteSectionGroup = sectionGroup("home", {
|
|
|
177
217
|
}),
|
|
178
218
|
problem: defineSection(trioSchema, HomeProblemSection, {
|
|
179
219
|
title: "Problem",
|
|
180
|
-
description: "
|
|
220
|
+
description: "The dark around the lights — problem trio (large numerals)",
|
|
221
|
+
}),
|
|
222
|
+
"one-light": defineSection(oneLightSchema, HomeOneLightSection, {
|
|
223
|
+
title: "One Light",
|
|
224
|
+
description:
|
|
225
|
+
"It starts with one light — the product hook between problem and growth",
|
|
181
226
|
}),
|
|
182
227
|
mission: defineSection(missionSchema, HomeMissionSection, {
|
|
183
228
|
title: "Mission",
|
package/src/routes.ts
CHANGED
|
@@ -18,13 +18,15 @@ export const aiRoutes: RouteDefinitionInput[] = [
|
|
|
18
18
|
// own registry. dataQuery routes it through the datasource (live map
|
|
19
19
|
// data); its hero copy is authored at site-content/home/network.md and
|
|
20
20
|
// merged over via the content overlay. Then the story the map opens: the
|
|
21
|
-
// dark it fights,
|
|
21
|
+
// dark it fights, the one light that starts it (the product hook), how
|
|
22
|
+
// the network grows, the mission, the faces.
|
|
22
23
|
{
|
|
23
24
|
id: "network",
|
|
24
25
|
template: "agent-discovery:proximity-map",
|
|
25
26
|
dataQuery: {},
|
|
26
27
|
},
|
|
27
28
|
{ id: "problem", template: "home:problem" },
|
|
29
|
+
{ id: "one-light", template: "home:one-light" },
|
|
28
30
|
{ id: "growth", template: "home:growth" },
|
|
29
31
|
{ id: "mission", template: "home:mission" },
|
|
30
32
|
{ id: "faces", template: "home:faces" },
|
package/src/shared.tsx
CHANGED
|
@@ -212,9 +212,11 @@ export const trioItemSchema: z.ZodObject<{
|
|
|
212
212
|
|
|
213
213
|
export const trioSchema: z.ZodObject<{
|
|
214
214
|
cap: z.ZodString;
|
|
215
|
+
capNote: z.ZodOptional<z.ZodString>;
|
|
215
216
|
items: z.ZodArray<typeof trioItemSchema>;
|
|
216
217
|
}> = z.object({
|
|
217
218
|
cap: z.string(),
|
|
219
|
+
capNote: z.string().optional(),
|
|
218
220
|
items: z.array(trioItemSchema),
|
|
219
221
|
});
|
|
220
222
|
|