← Public packages
@kentcdodds/package-app-kit
Design tokens, PWA install/update, About/version, cache helpers, and optional realtime notes sync for Kody package apps.
app/ui/counter.tsx
23 lines · 603 B · TypeScript/** @jsxRuntime automatic */
/** @jsxImportSource remix/ui */
import { clientEntry, on, type Handle } from 'remix/ui'
/** Hydrated island — explicit id + named function so the browser registry key matches. */
export const Counter = clientEntry(
'kody:app#Counter',
function Counter(handle: Handle<{ initialCount: number; label: string }>) {
let count = handle.props.initialCount
return () => (
<button
type="button"
class="pak-btn pak-btn-accent"
mix={on('click', () => {
count += 1
handle.update()
})}
>
{handle.props.label}: {count}
</button>
)
},
)