feat(ui): promote premium participation to dedicated Participate rail - #219
feat(ui): promote premium participation to dedicated Participate rail#219MontrealAI wants to merge 2 commits into
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1b0efaa59e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| @@ -10817,7 +10733,7 @@ <h3>Operational readiness</h3> | |||
| }; | |||
| } | |||
| async function refreshAttachPreview(){ | |||
| if(!agiJobDiscovery?.methods) return; | |||
| if(!window.agiJobDiscovery?.methods) return; | |||
There was a problem hiding this comment.
Use module-scoped discovery handle in attach preview guard
refreshAttachPreview() now gates on window.agiJobDiscovery, but this file declares the contract instance as let agiJobDiscovery in script scope (top-level let is not a window property). In normal execution this condition stays truthy and the function returns early, so attach budget, validation, and allowance UI never refresh when users edit attach inputs.
Useful? React with 👍 / 👎.
| const minRevealCount = BigInt(Math.max(1, minReveal)); | ||
| const maxRevealCount = BigInt(Math.max(Number(minRevealCount), maxReveal)); |
There was a problem hiding this comment.
Reintroduce reveal-count locals before score-band math
This block references minReveal and maxReveal, but those locals were removed in this commit and are no longer defined in scope. Rendering the score-band explanation now throws a ReferenceError, which aborts the premium discovery refresh flow and prevents subsequent coach/wizard updates from running.
Useful? React with 👍 / 👎.
| <div class="statusline" style="margin-top:12px"><b>Participant result</b>: <span id="premiumActionResult">No participant action submitted yet.</span></div> | ||
| </div> | ||
| <div class="premiumStepCard"><div class="premiumStepHeader"><div><h3>Claims quick links</h3><p class="premiumStepLead">Participation actions have moved to the dedicated Participate tab for applicant/finalist/validator/claimant role rails.</p></div></div><div class="premiumRoleActionRow" style="margin-top:12px"><button class="btn" type="button" id="premiumClaimsGoParticipateApplicant">Open Participate · Applicant</button><button class="btn" type="button" id="premiumClaimsGoParticipateValidator">Open Participate · Validator</button><button class="btn" type="button" id="premiumClaimsGoParticipateClaimant">Open Participate · Claimant</button></div></div> | ||
| </div> |
There was a problem hiding this comment.
Remove extra container close in Claims panel
The standalone </div> inserted here closes a wrapper one level too early in the Claims section, so the sticky rail no longer remains inside the .premiumClaimsGrid structure. This mis-nesting changes the layout hierarchy and can cause the right rail to drop out of its intended grid placement.
Useful? React with 👍 / 👎.
Motivation
commitApplication(...)becomes the obvious gold path for applicants.Description
Participatetab and panel (premiumTabParticipate/premiumParticipatePanel) and slimmed theClaimspanel to be balance/stat-centric only; moved participant action UI into the new Participate studio (file:ui/agijobmanager_genesis_job_mainnet_2026-04-02.html).crypto.getRandomValues), and local commitment computation using the exact formulakeccak256(abi.encodePacked(procurementId, applicant, applicationURI, salt)).localStorage, download/import JSON, packet schema/version fields, and explicit packet state transitions (Local packet only → On-chain committed → On-chain revealed) with event-driven updates afterApplicationCommitted/ApplicationRevealedparsing; added save/download/import handlers and helpersavePacket()used after successful commit.commitApplication/revealApplication(explicit privacy lines and stake notes), refined preflight and pause-adjusted timing reconstruction, finalist/validator affordances (live finalist list, score commit formula), CSS rules for role chips and mobile sticky CTA, and continuity field expansion so Participate fields persist across sessions.Testing
npm run check:no-binariesand received success: "No forbidden binary additions detected.".npm run docs:checkand received success: documentation checks passed.npm run test:uismoke tests where initial UI indexer helpers passed (smoke subtests OK); the command then proceeded into a longer environment/toolchain setup (browser & compile downloads) during which initial smoke tests passed; longer integration compile steps began but were not fully completed in this run due to environment runtime limits.Codex Task