Name Chase Pierce as Flagon's founder; drop the empty testimonial and founder stubs
Flagon, Inc. stays the maker. The footer's maker line, the home page's Flagon line and the Organization JSON-LD now name who founded it. With no customers yet there are no quotes to show, so the empty wiring goes.
4 files+6−700/4 viewed
| 10 | 10 | import type { User } from "@g1t/contracts"; | |
| 11 | 11 | ||
| 12 | 12 | import { Mark } from "./logo"; | |
| 13 | − | import { COMPANY, FOUNDER, MAKER_PRODUCTS, copyright, listed } from "../lib/legal"; | |
| 13 | + | import { COMPANY, MAKER_PRODUCTS, copyright, listed } from "../lib/legal"; | |
| 14 | 14 | import { type OverallState, STATUS_JSON_URL, STATUS_URL, STATUS_WORDS, type StatusReport, dotClass } from "../lib/status"; | |
| 15 | 15 | ||
| 16 | 16 | /** How long one fetched report is reused across the pages of one visit. */ | |
| ⋯ | |||
| 153 | 153 | <path d="M36.7 17.1 L39.4 16.1" stroke="currentColor" strokeWidth="2.4" strokeLinejoin="round" /> | |
| 154 | 154 | <circle cx="40.3" cy="15.8" r="1.4" fill="currentColor" /> | |
| 155 | 155 | </svg> | |
| 156 | − | ); | |
| 157 | − | } | |
| 158 | − | ||
| 159 | − | /** Who builds g1t, by name, with their photo and their own words. Nothing until FOUNDER is filled in. */ | |
| 160 | − | function FounderBlock() { | |
| 161 | − | if (!FOUNDER) return null; | |
| 162 | − | return ( | |
| 163 | − | <figure className="mx-auto mb-6 flex max-w-xl flex-col items-center gap-4 text-center sm:flex-row sm:items-start sm:text-left"> | |
| 164 | − | <img src={FOUNDER.photo} alt="" width={56} height={56} className="size-14 shrink-0 rounded-full ring-1 ring-line" /> | |
| 165 | − | <div> | |
| 166 | − | <blockquote className="text-sm leading-6 text-fg-soft">{FOUNDER.why}</blockquote> | |
| 167 | − | <figcaption className="mt-2 text-sm text-muted"> | |
| 168 | − | <span className="font-medium text-fg">{FOUNDER.name}</span>, {FOUNDER.role} | |
| 169 | − | {FOUNDER.links.map((link) => ( | |
| 170 | − | <a key={link.url} href={link.url} rel="me noopener" className="ml-3 hover:text-fg hover:underline hover:underline-offset-4"> | |
| 171 | − | {link.label} | |
| 172 | − | </a> | |
| 173 | − | ))} | |
| 174 | − | </figcaption> | |
| 175 | − | </div> | |
| 176 | − | </figure> | |
| 177 | 156 | ); | |
| 178 | 157 | } | |
| 179 | 158 | ||
| ⋯ | |||
| 188 | 167 | <FlagonMark className="mr-1 inline-block size-[0.95em] -translate-y-px align-middle" /> | |
| 189 | 168 | {COMPANY.name} | |
| 190 | 169 | </a> | |
| 191 | − | {products.length > 0 ? `, the people behind ${listed(products)}.` : `, ${COMPANY.about}.`} | |
| 170 | + | {products.length > 0 ? `, the people behind ${listed(products)}.` : `, ${COMPANY.about} founded by ${COMPANY.founder}.`} | |
| 192 | 171 | </p> | |
| 193 | 172 | ); | |
| 194 | 173 | } | |
| ⋯ | |||
| 275 | 254 | </nav> | |
| 276 | 255 | <div className="border-t border-line"> | |
| 277 | 256 | <div className="mx-auto max-w-3xl space-y-4 px-4 py-10 text-center"> | |
| 278 | − | <FounderBlock /> | |
| 279 | 257 | <MakerLine /> | |
| 280 | 258 | <LegalRow user={user} /> | |
| 281 | 259 | </div> | |
| 300 | 300 | }, | |
| 301 | 301 | ]; | |
| 302 | 302 | ||
| 303 | − | /** | |
| 304 | − | * What people using g1t say, each with their name, role, workspace and a | |
| 305 | − | * specific outcome. None yet: the section shows once real, permitted | |
| 306 | − | * quotes are here. Never write one on someone's behalf. | |
| 307 | − | */ | |
| 308 | − | const TESTIMONIALS = [] as { quote: string; name: string; role: string; workspace: string; avatar: string }[]; | |
| 309 | − | ||
| 310 | 303 | /** A workspace's org chart, read like a company's: g1t knows everyone; each department has its colleague. */ | |
| 311 | 304 | const ORG: { team: string; who: string }[] = [ | |
| 312 | 305 | { team: "Engineering", who: "Otto" }, | |
| ⋯ | |||
| 699 | 692 | <More to={`${DOCS}/guides/docs/`}>What Docs will do</More> | |
| 700 | 693 | </div> | |
| 701 | 694 | </section> | |
| 702 | − | ||
| 703 | − | {/* What people using it say. Nothing until there are real quotes. */} | |
| 704 | − | {TESTIMONIALS.length > 0 && ( | |
| 705 | − | <section className="mx-auto max-w-6xl px-4 pb-24"> | |
| 706 | − | <Eyebrow>From the teams using it</Eyebrow> | |
| 707 | − | <ul className="mt-8 grid gap-4 sm:grid-cols-2 lg:grid-cols-3"> | |
| 708 | − | {TESTIMONIALS.map((item) => ( | |
| 709 | − | <li key={item.name} className="flex flex-col rounded-2xl bg-surface p-6 ring-1 ring-line"> | |
| 710 | − | <blockquote className="grow text-sm leading-6 text-fg-soft">“{item.quote}”</blockquote> | |
| 711 | − | <p className="mt-5 flex items-center gap-3 text-sm"> | |
| 712 | − | <img src={item.avatar} alt="" width={32} height={32} className="size-8 rounded-full ring-1 ring-line" /> | |
| 713 | − | <span className="min-w-0 leading-tight"> | |
| 714 | − | <span className="block font-medium text-fg">{item.name}</span> | |
| 715 | − | <span className="block truncate text-xs text-muted"> | |
| 716 | − | {item.role}, {item.workspace} | |
| 717 | − | </span> | |
| 718 | − | </span> | |
| 719 | − | </p> | |
| 720 | − | </li> | |
| 721 | − | ))} | |
| 722 | − | </ul> | |
| 723 | − | </section> | |
| 724 | − | )} | |
| 725 | 695 | ||
| 726 | 696 | {/* How it flows */} | |
| 727 | 697 | <section id="how" className="scroll-mt-20 border-y border-line bg-surface/40"> | |
| ⋯ | |||
| 993 | 963 | </li> | |
| 994 | 964 | ))} | |
| 995 | 965 | </ul> | |
| 996 | − | <p className="text-sm leading-6 text-muted">g1t is made by Flagon, Inc., a small, independent software company.</p> | |
| 966 | + | <p className="text-sm leading-6 text-muted">g1t is made by Flagon, Inc., a small, independent software company founded by Chase Pierce.</p> | |
| 997 | 967 | </div> | |
| 998 | 968 | </div> | |
| 999 | 969 | </section> | |
| 10 | 10 | url: "https://www.flagon.io", | |
| 11 | 11 | /** How the footer describes it. */ | |
| 12 | 12 | about: "a small, independent software company", | |
| 13 | − | }; | |
| 14 | − | ||
| 15 | − | /** | |
| 16 | − | * The person behind g1t, for the footer's founder block. None yet: the | |
| 17 | − | * block shows once a real name, photo, links and their own words are here. | |
| 18 | − | */ | |
| 19 | − | export type Founder = { | |
| 20 | − | name: string; | |
| 21 | − | role: string; | |
| 22 | − | /** A square photo, served from g1t's own assets or usercontent. */ | |
| 23 | − | photo: string; | |
| 24 | − | /** One paragraph, in their words: why they built g1t. */ | |
| 25 | − | why: string; | |
| 26 | − | links: { label: string; url: string }[]; | |
| 13 | + | /** Who founded it, named wherever the company is described. */ | |
| 14 | + | founder: "Chase Pierce", | |
| 27 | 15 | }; | |
| 28 | − | export const FOUNDER = null as Founder | null; | |
| 29 | 16 | ||
| 30 | 17 | /** | |
| 31 | 18 | * Flagon's other launched products, which the footer's maker line names |
| 15 | 15 | "@type": "Organization", | |
| 16 | 16 | name: COMPANY.name, | |
| 17 | 17 | url: COMPANY.url, | |
| 18 | + | founder: { "@type": "Person", name: COMPANY.founder }, | |
| 18 | 19 | brand: { "@type": "Brand", name: "g1t", url: SITE }, | |
| 19 | 20 | }, | |
| 20 | 21 | }; |