From 53f78de09aa1636a1476763f6403e813c7734e10 Mon Sep 17 00:00:00 2001 From: Leo Date: Tue, 10 Oct 2023 17:46:13 -0400 Subject: [PATCH] remove rating updates convergence --- .../converge/src/objector_to_criteria.rs | 22 +++++++------ ui/src/app.css | 5 +++ .../converge/Criteria/Criterion.svelte | 6 ++-- .../Deliberations/DeliberationDetail.svelte | 6 ++-- .../Proposals/ProposalListItem.svelte | 2 +- .../converge/Proposals/RateCriteria.svelte | 2 +- .../converge/Proposals/RateCriterion.svelte | 32 ++++++++++++++++++- 7 files changed, 56 insertions(+), 19 deletions(-) diff --git a/dnas/converge/zomes/coordinator/converge/src/objector_to_criteria.rs b/dnas/converge/zomes/coordinator/converge/src/objector_to_criteria.rs index 14e8f69..c0c4f13 100644 --- a/dnas/converge/zomes/coordinator/converge/src/objector_to_criteria.rs +++ b/dnas/converge/zomes/coordinator/converge/src/objector_to_criteria.rs @@ -13,16 +13,18 @@ pub fn add_criterion_for_objector( input: AddCriterionForObjectorInput, ) -> ExternResult { - call( - CallTargetCell::Local, - ZomeName::from(String::from("converge")), - FunctionName(String::from("remove_criterion_for_objector")), - None, - RemoveCriterionForObjectorInput{ - base_objector: input.base_objector.clone(), - target_criterion_hash: input.target_criterion_hash.clone(), - } - )?; + if input.base_objector.clone().eq(&agent_info()?.agent_latest_pubkey) { + call( + CallTargetCell::Local, + ZomeName::from(String::from("converge")), + FunctionName(String::from("remove_criterion_for_objector")), + None, + RemoveCriterionForObjectorInput{ + base_objector: input.base_objector.clone(), + target_criterion_hash: input.target_criterion_hash.clone(), + } + )?; + } // remove previous support let links = get_links( diff --git a/ui/src/app.css b/ui/src/app.css index 98a3382..1eb5d47 100644 --- a/ui/src/app.css +++ b/ui/src/app.css @@ -30,6 +30,10 @@ h2 { text-align: left; } */ +.dashboard-item { + cursor: pointer; +} + .dashboard-item > div { white-space: pre-line; margin: 6px; @@ -147,6 +151,7 @@ body { .list-item-mini { height: 100px; + cursor: pointer; } .two-sides { diff --git a/ui/src/converge/converge/Criteria/Criterion.svelte b/ui/src/converge/converge/Criteria/Criterion.svelte index 54e02ce..d89dd1f 100644 --- a/ui/src/converge/converge/Criteria/Criterion.svelte +++ b/ui/src/converge/converge/Criteria/Criterion.svelte @@ -274,7 +274,7 @@ async function scrollToDiv() {
-
+
{#if support}
- support: {support / supporters.length} + support: {Math.round(support / supporters.length * 100)}%
-
+
- score: { convergence / maxWeight * 100 }% + score: { Math.round(convergence / maxWeight * 100) }%
diff --git a/ui/src/converge/converge/Proposals/RateCriteria.svelte b/ui/src/converge/converge/Proposals/RateCriteria.svelte index 28e521d..91d5937 100644 --- a/ui/src/converge/converge/Proposals/RateCriteria.svelte +++ b/ui/src/converge/converge/Proposals/RateCriteria.svelte @@ -38,7 +38,7 @@ $: if (allRatings) { } // if (Object.keys(allWeight).length > 0) { convergence = calculateAverage(allWeight) - // console.log("convergence", convergence) + console.log("convergence", convergence) // } } diff --git a/ui/src/converge/converge/Proposals/RateCriterion.svelte b/ui/src/converge/converge/Proposals/RateCriterion.svelte index 634c386..02c1ff8 100644 --- a/ui/src/converge/converge/Proposals/RateCriterion.svelte +++ b/ui/src/converge/converge/Proposals/RateCriterion.svelte @@ -157,6 +157,7 @@ async function fetchSupport() { sponsored = supporters.some(item => item["agent"] === client.myPubKey.join(",")); } allSupport[criterionHash.join(',')] = averageSupport; + console.log("all support" + JSON.stringify(allSupport)) } } catch (e) { console.log(e) @@ -206,6 +207,32 @@ async function fetchObjections() { // error = e; // } // } +async function removeRatingAndFetch() { + await removeRating() + console.log("ASDFASDFASDF" + JSON.stringify(supporters)) + console.log(client.myPubKey.join(",")) + supporters = supporters.filter(item => item.agent !== client.myPubKey.join(",")); + console.log("ASDFASDFASDF" + JSON.stringify(supporters)) + let objectionCount; + if (objections) { + objectionCount = objections.length; + } else { + objectionCount = 0; + } + let adjustedSupport = Math.max(0, support - objectionCount) + // console.log(objections, support, objectionCount, adjustedSupport) + if (supporters.length > 0) { + averageSupport = adjustedSupport / supporters.length + } else { + averageSupport = 0; + } + if (supporters) { + sponsored = supporters.some(item => item["agent"] === client.myPubKey.join(",")); + } + allSupport[criterionHash.join(',')] = averageSupport; + console.log(allSupport) + dispatch('proposal-rated') +} async function removeRating() { try { @@ -369,7 +396,10 @@ async function addRating() { MET
- +