// after Handshake → you have { uiHandle }
canopy.ui.init({ url: uiHandle });
let lastActiveTime = Date.now();
const bump = () => (lastActiveTime = Date.now());
document.addEventListener('mousemove', bump);
document.addEventListener('keypress', bump);
window.onbeforeunload = (e) => {
const msg = 'Are you sure you want to leave the verification process?';
e.returnValue = msg; return msg;
};
canopy.ui.on('journey.completed', (data) => console.log('done', data));
canopy.ui.on('journey.step.completed', (d) => console.log('step', d));
canopy.ui.on('journey.fraud.alert', (d) => console.warn('fraud', d));
// optional inactivity warning
setInterval(() => {
if (Date.now() - lastActiveTime > 5 * 60 * 1000) console.warn('inactive 5m');
}, 60 * 1000);