← Public packages
@kentcdodds/package-app-kit
Design tokens, PWA install/update, About/version, cache helpers, and optional realtime notes sync for Kody package apps.
starter-remix/app/controllers/about.tsx
41 lines · 1.1 KB · TypeScript/** @jsxRuntime automatic */
/** @jsxImportSource remix/ui */
import type { BuildAction } from 'remix/router'
import { readRecordedVersion } from '../../src/record-version.ts'
import { formatAboutPageData } from 'kody:@kentcdodds/package-app-kit/about'
import { render } from '../ui/render.tsx'
import { AppShell } from '../ui/layout.tsx'
import { AboutPanel } from '../ui/about-panel.tsx'
import { routes } from '../routes.ts'
export default {
async handler(context) {
const version = await readRecordedVersion()
const about = formatAboutPageData({
version,
runningSha: version.sha,
codeUrl: null,
})
return render(
context,
<AppShell page="about" heading="About">
<AboutPanel
sha={about.sha}
shortSha={about.shortSha}
message={about.message}
publishedAt={about.publishedAt}
committedAt={about.committedAt}
codeUrl={about.codeUrl}
runningSha={about.runningSha || about.sha}
appId="__PACKAGE_ID__"
/>
</AppShell>,
{
page: 'about',
title: 'About · __APP_TITLE__',
runningSha: version.sha,
},
)
},
} satisfies BuildAction<'ANY', typeof routes.about>