Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/danielroe/roe.dev. This is the code and content for my personal website, built in Nuxt. roe.dev
Something went wrong. Try again.
TypeScript
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354export default defineNuxtPlugin(() => { onPrehydrate(() => { const cal = Object.assign( function (...args: unknown[]) { cal.q.push(args) }, { ns: {}, q: [] as unknown[][], loaded: false, }, ) window.Cal = cal })
const $script = useScript('https://app.cal.com/embed/embed.js', { trigger: 'manual', }) $script.onLoaded(() => { window.Cal.loaded = true window.Cal('init', { origin: 'https://app.cal.com', }) window.Cal('ui', { cssVarsPerTheme: { light: { 'cal-bg-muted': '#e5e7eb', 'cal-bg-emphasis': '#f3f4f6', }, dark: { 'cal-bg-muted': '#1f2937', 'cal-bg-emphasis': '#374151', }, }, hideEventTypeDetails: false, layout: 'month_view', }) }) useRouter().beforeEach(to => { if (to.path === '/blog/open-invitation' || to.path === '/blog/funding') { $script.load() } })})
declare global { interface Window { Cal: ((...args: unknown[]) => void) & { loaded: boolean q: unknown[][] } }}