SBCanvas.panel.register({
fields: [
{ key: 'goal', type: 'number', label: 'Sub Goal', min: 1, max: 1000, default: 100 },
{ key: 'message', type: 'text', label: 'Goal Message', placeholder: 'We did it!' }
],
actions: [
{ name: 'reset-progress', label: 'Reset Progress', confirm: true },
{ name: 'celebrate', label: 'Trigger Celebration' }
]
});
SBCanvas.panel.onAction('reset-progress', () => {
SBCanvas.vars.set('progress', 0);
SBCanvas.store.set('progress', 0);
});
SBCanvas.panel.onAction('celebrate', () => {
SBCanvas.confetti({ count: 200, spread: 90 });
SBCanvas.sound('/sounds/celebrate.mp3', 0.8);
});