diff --git a/website/canvas.html b/website/canvas.html index 70177603..227af262 100644 --- a/website/canvas.html +++ b/website/canvas.html @@ -2076,6 +2076,10 @@ + + + + @@ -2088,6 +2092,7 @@ + @@ -2127,6 +2132,7 @@ + @@ -2487,6 +2493,12 @@ FolkChoiceSpider, FolkSpider3D, FolkChoiceConviction, + FolkGovQuadratic, + FolkGovConviction, + FolkGovMultisig, + FolkGovSankey, + FolkExchangeNode, + FolkAsciiGen, FolkSocialPost, FolkSocialThread, FolkSocialCampaign, @@ -2723,6 +2735,12 @@ FolkChoiceSpider.define(); FolkSpider3D.define(); FolkChoiceConviction.define(); + FolkGovQuadratic.define(); + FolkGovConviction.define(); + FolkGovMultisig.define(); + FolkGovSankey.define(); + FolkExchangeNode.define(); + FolkAsciiGen.define(); FolkSocialPost.define(); FolkSocialThread.define(); FolkSocialCampaign.define(); @@ -2785,6 +2803,12 @@ shapeRegistry.register("folk-choice-spider", FolkChoiceSpider); shapeRegistry.register("folk-spider-3d", FolkSpider3D); shapeRegistry.register("folk-choice-conviction", FolkChoiceConviction); + shapeRegistry.register("folk-gov-quadratic", FolkGovQuadratic); + shapeRegistry.register("folk-gov-conviction", FolkGovConviction); + shapeRegistry.register("folk-gov-multisig", FolkGovMultisig); + shapeRegistry.register("folk-gov-sankey", FolkGovSankey); + shapeRegistry.register("folk-exchange-node", FolkExchangeNode); + shapeRegistry.register("folk-ascii-gen", FolkAsciiGen); shapeRegistry.register("folk-social-post", FolkSocialPost); shapeRegistry.register("folk-social-thread", FolkSocialThread); shapeRegistry.register("folk-social-campaign", FolkSocialCampaign); @@ -3968,8 +3992,13 @@ Use real coordinates, YYYY-MM-DD dates, ISO currency codes. Ask clarifying quest "folk-transaction-builder": "rwallet", "folk-commitment-pool": "rtime", "folk-task-request": "rtime", - "folk-gov-binary": "rvote", - "folk-gov-threshold": "rvote", + "folk-gov-binary": "rgov", + "folk-gov-threshold": "rgov", + "folk-gov-quadratic": "rgov", + "folk-gov-conviction": "rgov", + "folk-gov-multisig": "rgov", + "folk-gov-sankey": "rgov", + "folk-exchange-node": "rexchange", "folk-itinerary": "rtrips", "folk-destination": "rtrips", "folk-budget": "rtrips", @@ -5085,6 +5114,56 @@ Use real coordinates, YYYY-MM-DD dates, ISO currency codes. Ask clarifying quest }); }); + // Governance shapes โ€” quadratic, conviction, multisig, sankey + document.getElementById("new-gov-quadratic").addEventListener("click", () => { + setPendingTool("folk-gov-quadratic", { + title: "Quadratic Vote", + mode: "allocate", + entries: [ + { id: "e-1", label: "Option A", allocated: 0 }, + { id: "e-2", label: "Option B", allocated: 0 }, + { id: "e-3", label: "Option C", allocated: 0 }, + ], + }); + }); + + document.getElementById("new-gov-conviction").addEventListener("click", () => { + setPendingTool("folk-gov-conviction", { + title: "Conviction Vote", + convictionMode: "linear", + threshold: 50, + stakes: [], + }); + }); + + document.getElementById("new-gov-multisig").addEventListener("click", () => { + setPendingTool("folk-gov-multisig", { + title: "Multi-Sig Gate", + requiredM: 2, + signers: [ + { name: "Signer 1", signed: false }, + { name: "Signer 2", signed: false }, + { name: "Signer 3", signed: false }, + ], + }); + }); + + document.getElementById("new-gov-sankey").addEventListener("click", () => { + setPendingTool("folk-gov-sankey", { + title: "Allocation Flow", + }); + }); + + // Exchange node + document.getElementById("new-exchange-node").addEventListener("click", () => { + setPendingTool("folk-exchange-node", {}); + }); + + // ASCII art generator + document.getElementById("new-ascii-gen").addEventListener("click", () => { + setPendingTool("folk-ascii-gen", {}); + }); + // Social media post document.getElementById("new-social-post").addEventListener("click", () => { setPendingTool("folk-social-post", {