From a9ffc4a643bdbfb926bcfdf05004ba29abd37c4e Mon Sep 17 00:00:00 2001 From: Anthony Ettinger Date: Sat, 10 Oct 2026 09:32:37 +0000 Subject: [PATCH] feat(footer): use @profullstack/footer Co-Authored-By: Claude Opus 5.5 --- apps/web/components/chrome.tsx | 56 +++++++++++----------------------- apps/web/package.json | 1 + pnpm-lock.yaml | 17 +++++++++++ pnpm-workspace.yaml | 1 + 4 files changed, 37 insertions(+), 38 deletions(-) diff --git a/apps/web/components/chrome.tsx b/apps/web/components/chrome.tsx index 13e066c..341d4d5 100644 --- a/apps/web/components/chrome.tsx +++ b/apps/web/components/chrome.tsx @@ -1,4 +1,5 @@ import Link from 'next/link' +import { Footer as PfsFooter } from '@profullstack/footer/react' import { CopyButton } from '@/components/copy-button' import { NAV, SITE } from '@/lib/site' @@ -33,46 +34,25 @@ export function Header() { ) } +/** + * @profullstack/footer: the same links, copyright and webring every Profullstack + * site renders, from the package's @latest template (async server component). + */ export function Footer() { return ( - +
+ +
) } diff --git a/apps/web/package.json b/apps/web/package.json index fc2038d..05f8bb1 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -10,6 +10,7 @@ "typecheck": "tsc --noEmit" }, "dependencies": { + "@profullstack/footer": "latest", "@profullstack/x402-gateway": "^0.7.0", "marked": "^15.0.7", "next": "^15.5.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 38281cc..d5e534e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -147,6 +147,9 @@ importers: apps/web: dependencies: + '@profullstack/footer': + specifier: latest + version: 0.2.1(react@19.2.8) '@profullstack/x402-gateway': specifier: ^0.7.0 version: 0.7.0 @@ -1149,6 +1152,16 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} + '@profullstack/footer@0.2.1': + resolution: {integrity: sha512-KHmKVwrlzCBrSAAJ4zobNFCxTg8VF0gvNMeAut00dX3+gbWCtk6eOwIR2AaqEC7smj6Aio6cIexzt/dUnv1McA==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + react: '>=18' + peerDependenciesMeta: + react: + optional: true + '@profullstack/hqtui@0.1.12': resolution: {integrity: sha512-BAmrR93G3hyDj2oPsePn4UcTvvYYBQsIuHzZ1VL7L9ezqSQx1vzAbf9pXvQgRHWaBkH+R1Uxw2XjcHNjZ1Ixlw==} engines: {bun: '>=1.1', node: '>=22.6'} @@ -5082,6 +5095,10 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true + '@profullstack/footer@0.2.1(react@19.2.8)': + optionalDependencies: + react: 19.2.8 + '@profullstack/hqtui@0.1.12': {} '@profullstack/hqtui@0.5.1': {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index af00e42..744bf14 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -21,3 +21,4 @@ minimumReleaseAgeExclude: - '@profullstack/x402-gateway@0.1.0 || 0.7.0' - '@profullstack/hqtui@0.2.0 || 0.5.0 || 0.5.1' - '@profullstack/keys' + - '@profullstack/footer'