mirror of
https://github.com/dergigi/boris.git
synced 2025-12-17 22:54:30 +01:00
- Add project structure with TypeScript, React, and Vite - Implement nostr authentication using browser extension (NIP-07) - Add NIP-51 compliant bookmark fetching and display - Create minimal UI with login and bookmark components - Integrate applesauce-core and applesauce-react libraries - Add responsive styling with dark/light mode support - Include comprehensive README with setup instructions This is a minimal MVP for a nostr bookmark client that allows users to view their bookmarks according to NIP-51 specification.
16 lines
640 B
JavaScript
16 lines
640 B
JavaScript
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
/** Render a nostr syntax tree to JSX components */
|
|
export function renderNast(root, components) {
|
|
const indexes = {};
|
|
return (_jsx(_Fragment, { children: root.children.map((node) => {
|
|
indexes[node.type] = indexes[node.type] ?? 0;
|
|
const index = indexes[node.type];
|
|
indexes[node.type]++;
|
|
const Component = components[node.type];
|
|
if (!Component)
|
|
return null;
|
|
// @ts-expect-error
|
|
return _jsx(Component, { node: node }, node.type + "-" + index);
|
|
}) }));
|
|
}
|