Dashboard integration in progress

GRINDCTRL dashboard foundations, now on Next.js.

The UI shell now lives in this repo, uses real Clerk auth, reads the existing Supabase dashboard contracts, and keeps the public widget runtime separate.

Install contract

<script>
  window.GrindctrlSupport = window.GrindctrlSupport || [];
  window.GrindctrlSupport.push({ embedKey: 'gc_live_xxxxx' });
</script>
<script async src="https://cdn.grindctrl.com/widget/v1/loader.js"></script>
Real dashboard routes

Overview, install, branding, intents, domains, and leads now have dedicated routes.

Runtime preserved

The widget loader/runtime remains external to React and keeps the current production contract.