@rizom/site-rizom-ai 0.2.0-alpha.181 → 0.2.0-alpha.182

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rizom/site-rizom-ai",
3
- "version": "0.2.0-alpha.181",
3
+ "version": "0.2.0-alpha.182",
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.181",
22
- "@rizom/site-rizom": "0.2.0-alpha.181",
23
- "@rizom/site-sections": "0.2.0-alpha.181",
21
+ "@rizom/site": "0.2.0-alpha.182",
22
+ "@rizom/site-rizom": "0.2.0-alpha.182",
23
+ "@rizom/site-sections": "0.2.0-alpha.182",
24
24
  "preact": "^10.27.2"
25
25
  },
26
26
  "publishConfig": {
package/src/brain.tsx CHANGED
@@ -237,7 +237,7 @@ function BrainRunSection({
237
237
  headline={headline}
238
238
  intro={intro}
239
239
  />
240
- <div className="reveal reveal-delay-1 mt-7 max-w-[1120px]">
240
+ <div className="reveal reveal-delay-1 mt-7">
241
241
  <DashboardScreen />
242
242
  </div>
243
243
  <p className="reveal reveal-delay-2 mt-5 max-w-[52em] font-display text-[17px] font-normal italic text-theme-light [font-variation-settings:'SOFT'_85]">
@@ -334,7 +334,7 @@ function BrainQuickstartSection({
334
334
  return (
335
335
  <Section id="quickstart" className="py-14">
336
336
  <SectCap lead={cap} trail={capNote} />
337
- <div className="mt-7 grid max-w-[1000px] items-start gap-12 md:grid-cols-[1.15fr_1fr]">
337
+ <div className="mt-7 grid items-start gap-12 md:grid-cols-[1.15fr_1fr]">
338
338
  <div className="reveal reveal-delay-1 border border-theme bg-theme-subtle/60 px-6 py-5 font-label text-[14px] leading-[1.9]">
339
339
  {lines.map((line, i) => (
340
340
  <div key={i} className={termLineClass(line.kind)}>
@@ -159,7 +159,7 @@ function FoundationSupportSection({
159
159
  return (
160
160
  <Section id="support" className="py-14">
161
161
  <SectCap lead={cap} trail={capNote} />
162
- <div className="mt-[26px] grid max-w-[900px] gap-13 md:grid-cols-2">
162
+ <div className="mt-[26px] grid gap-13 md:grid-cols-2">
163
163
  {options.map((option, i) => (
164
164
  <div key={option.kicker} className={`reveal ${delayClass(i + 1)}`}>
165
165
  <span className="font-label text-label-xs uppercase tracking-[0.16em] text-accent">
@@ -168,7 +168,7 @@ function FoundationSupportSection({
168
168
  <div className="mt-2 font-display text-[30px] font-[480] text-theme [font-variation-settings:'SOFT'_40]">
169
169
  {option.amount}
170
170
  </div>
171
- <p className="mt-2 font-body text-[15.5px] text-theme-light">
171
+ <p className="mt-2 max-w-[52ch] font-body text-[15.5px] text-theme-light">
172
172
  {option.text}
173
173
  </p>
174
174
  </div>
@@ -8,7 +8,7 @@ import type { JSX } from "preact";
8
8
  The wrapper's `reveal` class lets boot.js trigger the sequence. */
9
9
  export function GrowthDiagram(): JSX.Element {
10
10
  return (
11
- <div className="growth reveal reveal-delay-1 mt-5 max-w-[1020px]">
11
+ <div className="growth reveal reveal-delay-1 mt-5">
12
12
  <svg
13
13
  viewBox="0 0 980 290"
14
14
  role="img"
package/src/layout.tsx CHANGED
@@ -116,7 +116,12 @@ function FacesStrip({ path }: { path: string }): JSX.Element {
116
116
  const home = isHome(path);
117
117
  return (
118
118
  <div className="relative z-[2] flex flex-wrap items-baseline gap-x-4 gap-y-1.5 border-b border-theme-light px-4 py-3 font-label text-label-xs uppercase tracking-[0.12em] sm:gap-x-6 sm:px-6 sm:tracking-[0.14em] md:px-10 xl:px-20">
119
- <span className="text-theme-muted">rizom</span>
119
+ <a
120
+ href="/"
121
+ className="-my-2 inline-block py-2 text-theme-muted transition-colors hover:text-theme"
122
+ >
123
+ rizom
124
+ </a>
120
125
  {FACES.map((item) =>
121
126
  // No face is current on the umbrella home, nor on a cross-room index.
122
127
  item.key === face && !activeIndex && !home ? (
@@ -174,12 +179,14 @@ function Wordmark({ nameplate }: { nameplate: string | null }): JSX.Element {
174
179
 
175
180
  function FaceNav({
176
181
  face,
177
- home,
182
+ umbrella,
178
183
  }: {
179
184
  face: FaceKey;
180
- home: boolean;
185
+ umbrella: boolean;
181
186
  }): JSX.Element {
182
- const chrome = home ? HOME_CHROME : FACE_CHROME[face];
187
+ // Home and the org indexes (/writing, /network) belong to no face
188
+ // they wear the plain umbrella chrome, not a room nameplate.
189
+ const chrome = umbrella ? HOME_CHROME : FACE_CHROME[face];
183
190
  // Deliberately NOT merged with siteInfo.navigation: entity plugins
184
191
  // register slot-based nav entries for every list route (topics,
185
192
  // posts, …), which floods the bar. Each room owns its own links.
@@ -356,7 +363,7 @@ function RizomAiChrome({
356
363
  children: ComponentChildren;
357
364
  }): JSX.Element {
358
365
  const face = activeFace(path);
359
- const home = isHome(path);
366
+ const umbrella = isHome(path) || orgIndexActive(path) !== null;
360
367
  return (
361
368
  <RizomFrame canvas={false}>
362
369
  {/* xl:pl matches the mockup's 148px left rail (68 + the 80px
@@ -365,7 +372,7 @@ function RizomAiChrome({
365
372
  <MyceliumRail />
366
373
  <header className="sticky top-0 z-[100] border-b border-theme-light bg-nav-fade backdrop-blur-[12px]">
367
374
  <FacesStrip path={path} />
368
- <FaceNav face={face} home={home} />
375
+ <FaceNav face={face} umbrella={umbrella} />
369
376
  </header>
370
377
  <main>{children}</main>
371
378
  <SiteFooter siteInfo={siteInfo} />
package/src/shared.tsx CHANGED
@@ -159,7 +159,7 @@ export function IndexRow({
159
159
  </>
160
160
  );
161
161
 
162
- const rowClass = `reveal ${delayClass} group grid max-w-[1040px] grid-cols-[44px_1fr] items-baseline gap-x-6 gap-y-2 border-t border-theme-light py-6 no-underline md:grid-cols-[64px_176px_1fr_auto] md:gap-6`;
162
+ const rowClass = `reveal ${delayClass} group grid grid-cols-[44px_1fr] items-baseline gap-x-6 gap-y-2 border-t border-theme-light py-6 no-underline md:grid-cols-[64px_176px_1fr_auto] md:gap-6`;
163
163
 
164
164
  return row.href ? (
165
165
  <a href={row.href} className={rowClass}>
@@ -237,7 +237,7 @@ export function Trio({
237
237
  mono: boolean;
238
238
  }): JSX.Element {
239
239
  return (
240
- <div className="mt-[30px] grid max-w-[1040px] gap-11 md:grid-cols-3">
240
+ <div className="mt-[30px] grid gap-11 md:grid-cols-3">
241
241
  {items.map((item, i) => (
242
242
  <div key={item.title} className={`reveal ${delayClass(i)}`}>
243
243
  {mono ? (
package/src/work.tsx CHANGED
@@ -216,7 +216,7 @@ function WorkWorkshopSection({
216
216
  return (
217
217
  <Section id="workshop" className="py-14">
218
218
  <Statement {...statement} />
219
- <div className="mt-7 max-w-[880px]">
219
+ <div className="mt-7">
220
220
  {steps.map((step, i) => (
221
221
  <div
222
222
  key={step.title}
@@ -228,7 +228,8 @@ function WorkWorkshopSection({
228
228
  <b className="font-display text-[21px] font-[520] text-theme [font-variation-settings:'SOFT'_60]">
229
229
  {step.title}
230
230
  </b>
231
- <div>
231
+ {/* The row spans the column; the copy keeps a reading measure. */}
232
+ <div className="max-w-[60ch]">
232
233
  <p className="mb-[3px] font-body text-[16.5px] text-theme-muted">
233
234
  {step.lead}
234
235
  </p>
@@ -263,7 +264,7 @@ function WorkPersonasSection({
263
264
  return (
264
265
  <Section id="personas" className="py-14">
265
266
  <SectCap lead={cap} />
266
- <div className="mt-7 grid max-w-[980px] gap-11 md:grid-cols-2">
267
+ <div className="mt-7 grid gap-11 md:grid-cols-2">
267
268
  {personas.map((persona, i) => (
268
269
  <div key={persona.role} className={`reveal ${delayClass(i + 1)}`}>
269
270
  <span className="font-label text-label-xs uppercase tracking-[0.16em] text-accent">
@@ -272,7 +273,7 @@ function WorkPersonasSection({
272
273
  <blockquote className="mt-2.5 font-display text-[24px] font-[450] italic leading-[1.3] tracking-[-0.008em] text-theme [font-variation-settings:'SOFT'_85]">
273
274
  {persona.quote}
274
275
  </blockquote>
275
- <p className="mt-2.5 font-body text-[16px] text-theme-light">
276
+ <p className="mt-2.5 max-w-[52ch] font-body text-[16px] text-theme-light">
276
277
  {persona.text}
277
278
  </p>
278
279
  </div>
@@ -303,7 +304,7 @@ function WorkQuotesSection({
303
304
  return (
304
305
  <Section id="proof" className="py-14">
305
306
  <SectCap lead={cap} trail={capNote} />
306
- <div className="mt-7 max-w-[980px]">
307
+ <div className="mt-7">
307
308
  {quotes.map((quote, i) => (
308
309
  <div
309
310
  key={quote.by}
@@ -352,7 +353,7 @@ function WorkRosterSection({
352
353
  return (
353
354
  <Section id="people" className="py-14">
354
355
  <SectCap lead={cap} trail={capNote} />
355
- <div className="reveal reveal-delay-1 mt-6 flex max-w-[900px] flex-wrap gap-x-[34px] gap-y-2.5">
356
+ <div className="reveal reveal-delay-1 mt-6 flex flex-wrap gap-x-[34px] gap-y-2.5">
356
357
  {people.map((person) => (
357
358
  <span
358
359
  key={person.name}