import { InitialData, serverClient } from 'oc-server'; import styles from './styles.css'; import logo from '../public/logo.png'; import { getSettings } from 'oc-server'; const onRender = (cb: (element: HTMLElement) => void) => { const isBrowser = typeof window !== 'undefined'; if (isBrowser) { const { id } = getSettings(); window.oc.events.on('oc:rendered', (e, data) => { if (String(data.id) === id) { cb(data.element); } }); } }; export default ({ firstName, lastName, hobbies, born }: InitialData) => { onRender((element) => { element .querySelector(`.${styles.button}`) ?.addEventListener('click', async () => { const { funFact } = await serverClient.funFact({ year: born }); element.querySelector('#fun-year-fact')!.innerHTML = funFact; }); }); return /* html */ `
Logo

Hello, ${firstName} ${lastName}

Born: ${born}
Hobbies: ${hobbies.map((x) => x.toLowerCase()).join(', ')}
`; };