Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { getSalaryAsset } from "next-common/utils/consts/getSalaryAsset";
import { useSalaryAsset } from "next-common/hooks/fellowship/salary/useSalaryAsset";
import ValueDisplay from "next-common/components/valueDisplay";
import { toPrecision } from "next-common/utils";
import { getRankSalary } from "next-common/utils/fellowship/getRankSalary";
Expand All @@ -13,7 +13,7 @@ export function CoreFellowshipMemberSalaryContent({
const { activeSalary, passiveSalary } = params;
const salaryArray = isActive ? activeSalary : passiveSalary;
const salary = getRankSalary(salaryArray, rank);
const { symbol, decimals } = getSalaryAsset();
const { symbol, decimals } = useSalaryAsset();

return (
<ValueDisplay
Expand All @@ -33,7 +33,7 @@ export default function CoreFellowshipMemberSalary({
const { isActive } = member.status || {};

const { activeSalary = [], passiveSalary = [] } = params ?? {};
const { symbol, decimals } = getSalaryAsset();
const { symbol, decimals } = useSalaryAsset();

if (rank <= 0) {
return null;
Expand Down
4 changes: 2 additions & 2 deletions packages/next-common/components/collectives/members/table.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import {
FellowshipDemotionPeriodWithProgress,
FellowshipPromotionPeriodWithProgress,
} from "next-common/components/collectives/members/periodWithProgress.jsx";
import { getSalaryAsset } from "next-common/utils/consts/getSalaryAsset";
import { useSalaryAsset } from "next-common/hooks/fellowship/salary/useSalaryAsset";
import { useCollectivesContext } from "next-common/context/collectives/collectives";
import Period from "next-common/components/fellowship/params/period";

Expand All @@ -33,7 +33,7 @@ export default function CollectivesMemberTable({
minPromotionPeriod = [],
offboardTimeout,
} = params ?? {};
const { symbol, decimals } = getSalaryAsset();
const { symbol, decimals } = useSalaryAsset();

const isLoading = isNil(members) || !isAllLoaded;

Expand Down
50 changes: 50 additions & 0 deletions packages/next-common/components/collectives/salaryAssetValues.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
import BigNumber from "bignumber.js";
import ValueDisplay from "next-common/components/valueDisplay";

export function normalizeSalaryAssetValue(value = {}) {
if (typeof value === "string" || typeof value === "number") {
return { usdt: value.toString(), hollar: "0" };
}

return {
usdt: value.usdt || "0",
hollar: value.hollar || "0",
};
}

export function isPositiveAmount(value) {
return new BigNumber(value || 0).gt(0);
}

export default function SalaryAssetValues({
salary,
align = "right",
className = "",
}) {
const value = normalizeSalaryAssetValue(salary);
const hasUsdt = isPositiveAmount(value.usdt);
const hasHollar = isPositiveAmount(value.hollar);

if (!hasUsdt && !hasHollar) {
return <span className="text-textTertiary">-</span>;
}

return (
<div
className={`flex flex-col gap-1 ${
align === "right" ? "items-end" : "items-start"
} ${className}`}
>
{hasUsdt && (
<ValueDisplay value={value.usdt} symbol="USDT" showVerySmallNumber />
)}
{hasHollar && (
<ValueDisplay
value={value.hollar}
symbol="HOLLAR"
showVerySmallNumber
/>
)}
</div>
);
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { useOnchainData } from "next-common/context/post";
*/
export default function BountyCountDown() {
const data = useOnchainData();
if (data.state?.state !== "PendingPayout") {
if (!data || data.state?.state !== "PendingPayout") {
return null;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ function EventContent({ feed, showUserInfo = true }) {
<FellowshipRegisteredFeedContent
amount={feed?.args?.amount}
index={feed?.index}
blockHeight={feed?.indexer?.blockHeight}
/>
);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { isNumber } from "lodash-es";
import BillBoardPanel from "next-common/components/billBoardPanel";
import ValueDisplay from "next-common/components/valueDisplay";
import { getSalaryAsset } from "next-common/utils/consts/getSalaryAsset";
import { useSalaryAsset } from "next-common/hooks/fellowship/salary/useSalaryAsset";
import { toPrecision } from "next-common/utils";
import dynamic from "next/dynamic";
import Period from "./period";
Expand Down Expand Up @@ -75,7 +75,7 @@ function getMemberInfoItems({ rank, params, decimals, symbol }) {
}

function useRankInfoItems(rank, params) {
const { symbol, decimals } = getSalaryAsset();
const { symbol, decimals } = useSalaryAsset();

if (!isNumber(rank)) {
return [];
Expand Down
4 changes: 2 additions & 2 deletions packages/next-common/components/fellowship/params/list.jsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import DataList from "next-common/components/dataList";
import ValueDisplay from "next-common/components/valueDisplay";
import { getSalaryAsset } from "next-common/utils/consts/getSalaryAsset";
import { useSalaryAsset } from "next-common/hooks/fellowship/salary/useSalaryAsset";
import { toPrecision } from "next-common/utils";
import Period, {
PromotionPeriod,
Expand Down Expand Up @@ -38,7 +38,7 @@ export default function FellowshipParamsList({ rank, params }) {
minPromotionPeriod = [],
} = params ?? {};

const { symbol, decimals } = getSalaryAsset();
const { symbol, decimals } = useSalaryAsset();

const rows = activeSalary?.map?.((_, idx) => {
return [
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { getSalaryAsset } from "next-common/utils/consts/getSalaryAsset";
import { useSalaryAsset } from "next-common/hooks/fellowship/salary/useSalaryAsset";
import rankToIndex from "next-common/utils/fellowship/rankToIndex";
import { useCoreFellowshipParams } from "next-common/context/collectives/collectives";
import { isSameAddress } from "next-common/utils";
Expand Down Expand Up @@ -26,7 +26,7 @@ export function useMySalary() {

export function useMyAccountSalaryWithSymbol() {
const salaryValue = useMySalary() ?? 0;
const { decimals, symbol } = getSalaryAsset();
const { decimals, symbol } = useSalaryAsset();

return {
value: salaryValue,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import { has, isNil } from "lodash-es";
import AddressUser from "next-common/components/user/addressUser";
import FellowshipSalaryMemberIsRegistered from "./isRegistered";
import Link from "next-common/components/link";
import { getSalaryAsset } from "next-common/utils/consts/getSalaryAsset";
import ValueDisplay from "next-common/components/valueDisplay";
import { toPrecision } from "next-common/utils";
import { getRankSalary } from "next-common/utils/fellowship/getRankSalary";
Expand All @@ -18,9 +17,10 @@ import Tooltip from "next-common/components/tooltip";
import { isSameAddress } from "next-common/utils";
import FieldLoading from "next-common/components/icons/fieldLoading";
import { SystemVoteAbstain } from "@osn/icons/subsquare";
import { useSalaryAsset } from "next-common/hooks/fellowship/salary/useSalaryAsset";

function SalaryCellTooltip({ isActive, rank, params, children }) {
const { symbol, decimals } = getSalaryAsset();
const { symbol, decimals } = useSalaryAsset();
const { activeSalary = [], passiveSalary = [] } = params ?? {};

const activeRankSalary = getRankSalary(activeSalary, rank);
Expand Down Expand Up @@ -54,7 +54,7 @@ function SalaryCellTooltip({ isActive, rank, params, children }) {
}

function ClaimantAmountCell({ claimant }) {
const { symbol, decimals } = getSalaryAsset();
const { symbol, decimals } = useSalaryAsset();
const status = claimant?.status?.status || {};
const registered = has(status, "registered")
? status?.registered
Expand All @@ -72,7 +72,7 @@ function ClaimantSalaryCell({ claimant, member, params }) {
const isActive = member?.status?.isActive;
const rank = claimant?.rank;

const { symbol, decimals } = getSalaryAsset();
const { symbol, decimals } = useSalaryAsset();
const { activeSalary = [], passiveSalary = [] } = params ?? {};

const activeRankSalary = getRankSalary(activeSalary, rank);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { has } from "lodash-es";
import Tooltip from "next-common/components/tooltip";
import { getSalaryAsset } from "next-common/utils/consts/getSalaryAsset";
import { useSalaryAsset } from "next-common/hooks/fellowship/salary/useSalaryAsset";
import { toPrecision } from "next-common/utils";

export default function FellowshipSalaryMemberStatus({ status }) {
const { decimals, symbol } = getSalaryAsset();
const { decimals, symbol } = useSalaryAsset();

let content = <span className="text-textTertiary">-</span>;
let tooltipContent;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import ValueDisplay from "next-common/components/valueDisplay";
import Progress from "next-common/components/progress";
import { getSalaryAsset } from "next-common/utils/consts/getSalaryAsset";
import { toPercentage, toPrecision } from "next-common/utils";
import Tooltip from "next-common/components/tooltip";
import bigAdd from "next-common/utils/math/bigAdd";
import { useSalaryAsset } from "next-common/hooks/fellowship/salary/useSalaryAsset";

export default function FellowshipSalaryExpenditure({ cycle = {} }) {
const { symbol, decimals } = getSalaryAsset();
const { symbol, decimals } = useSalaryAsset(cycle?.indexer?.blockHeight);

const { status = {}, registeredPaid, unRegisteredPaid } = cycle || {};
const { budget } = status;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import Tooltip from "next-common/components/tooltip";
import ValueDisplay from "next-common/components/valueDisplay";
import { getSalaryAsset } from "next-common/utils/consts/getSalaryAsset";
import { toPrecision } from "next-common/utils";
import { useSalaryAsset } from "next-common/hooks/fellowship/salary/useSalaryAsset";

function RegisterPaid({ count, paid, type = "" }) {
const { symbol, decimals } = getSalaryAsset();
function RegisterPaid({ count, paid, type = "", blockHeight }) {
const { symbol, decimals } = useSalaryAsset(blockHeight);

return (
<div className="max-sm:text-right">
Expand All @@ -27,6 +27,7 @@ export function FellowshipSalaryRegisteredPaid({ cycle = {} }) {
paid={cycle.registeredPaid}
count={cycle.registeredPaidCount}
type="Registers"
blockHeight={cycle?.indexer?.blockHeight}
/>
);
}
Expand All @@ -37,6 +38,7 @@ export function FellowshipSalaryUnregisteredPaid({ cycle = {} }) {
paid={cycle.unRegisteredPaid}
count={cycle.unRegisteredPaidCount}
type="Unregisters"
blockHeight={cycle?.indexer?.blockHeight}
/>
);
}
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,10 @@ export default function FellowshipSalaryCycleDetailInfoClosed({ cycle = {} }) {
<hr className="my-4" />

<SummaryLayout>
<SalaryStatsBudgetItem budget={budget} />
<SalaryStatsBudgetItem
budget={budget}
blockHeight={cycle?.indexer?.blockHeight}
/>
<SalaryStatsRegistrationItem cycleData={cycle} />
<SalaryStatsUnregisteredItem cycleData={cycle} />
<SalaryStatsTotalDurationSummaryItem cycleData={cycle} />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,10 @@ export default function FellowshipSalaryCycleDetailInfoOngoing({
<SummaryLayout
className={cn(navCollapsed ? "max-sm:hidden" : "max-md:hidden")}
>
<SalaryStatsBudgetItem budget={budget} />
<SalaryStatsBudgetItem
budget={budget}
blockHeight={cycle?.indexer?.blockHeight}
/>
<SalaryStatsRegistrationItem cycleData={cycle} />
<SalaryStatsUnregisteredItem cycleData={cycle} />
<SalaryStatsTotalPeriodItem cycleStart={cycleStart} />
Expand All @@ -55,7 +58,10 @@ export default function FellowshipSalaryCycleDetailInfoOngoing({
</SummaryLayout>

<SummaryLayout className={cn(navCollapsed ? "sm:hidden" : "md:hidden")}>
<SalaryStatsBudgetItem budget={budget} />
<SalaryStatsBudgetItem
budget={budget}
blockHeight={cycle?.indexer?.blockHeight}
/>
<SalaryStatsRegistrationItem cycleData={cycle} />
<SalaryStatsUnregisteredItem cycleData={cycle} />
<SalaryStatsBlockTimeItem
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import MultiProgress from "next-common/components/progress/multiProgress";
import ValueDisplay from "next-common/components/valueDisplay";
import { getSalaryAsset } from "next-common/utils/consts/getSalaryAsset";
import { useSalaryAsset } from "next-common/hooks/fellowship/salary/useSalaryAsset";
import { cn, toPercentage, toPrecision } from "next-common/utils";

const registreredPaidColor = "var(--theme500)";
const unRegisteredPaidColor = "var(--theme300)";
const bg = "var(--theme100)";

export default function FellowshipCycleProgress({ cycle }) {
const { registeredPaid, unRegisteredPaid } = cycle;
const { indexer, registeredPaid, unRegisteredPaid } = cycle;
const { budget } = cycle.status;

const registeredPaidPercentage = toPercentage(registeredPaid / budget, 2);
Expand Down Expand Up @@ -50,19 +50,21 @@ export default function FellowshipCycleProgress({ cycle }) {
color={registreredPaidColor}
label="Registered Paid"
value={registeredPaid}
blockHeight={indexer?.blockHeight}
/>
<PaidLabel
color={unRegisteredPaidColor}
label="Unregistered Paid"
value={unRegisteredPaid}
blockHeight={indexer?.blockHeight}
/>
</div>
</div>
);
}

function PaidLabel({ value, label = "", color = "" }) {
const { decimals, symbol } = getSalaryAsset();
function PaidLabel({ value, label = "", color = "", blockHeight }) {
const { decimals, symbol } = useSalaryAsset(blockHeight);

return (
<div className="flex items-center gap-x-2 text12Medium">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ import LoadableContent from "next-common/components/common/loadableContent";
import { isNil } from "lodash-es";
import ValueDisplay from "next-common/components/valueDisplay";
import { toPrecision } from "next-common/utils";
import { getSalaryAsset } from "next-common/utils/consts/getSalaryAsset";
import { useSalaryAsset } from "next-common/hooks/fellowship/salary/useSalaryAsset";

export default function SalaryStatsBudgetItem({ budget }) {
const { decimals, symbol } = getSalaryAsset();
export default function SalaryStatsBudgetItem({ budget, blockHeight }) {
const { decimals, symbol } = useSalaryAsset(blockHeight);

return (
<SummaryItem title="Budget">
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { getSalaryAsset } from "next-common/utils/consts/getSalaryAsset";
import { useSalaryAsset } from "next-common/hooks/fellowship/salary/useSalaryAsset";
import SummaryItem from "next-common/components/summary/layout/item";
import LoadableContent from "next-common/components/common/loadableContent";
import { isNil } from "lodash-es";
import ValueDisplay from "next-common/components/valueDisplay";
import { toPrecision } from "next-common/utils";

export default function SalaryStatsPotItem({ pot }) {
const { decimals, symbol } = getSalaryAsset();
export default function SalaryStatsPotItem({ pot, blockHeight }) {
const { decimals, symbol } = useSalaryAsset(blockHeight);

return (
<SummaryItem title="Pot">
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import SummaryItem from "next-common/components/summary/layout/item";
import { getSalaryAsset } from "next-common/utils/consts/getSalaryAsset";
import { useSalaryAsset } from "next-common/hooks/fellowship/salary/useSalaryAsset";
import { isNil } from "lodash-es";
import LoadableContent from "next-common/components/common/loadableContent";
import ValueDisplay from "next-common/components/valueDisplay";
Expand All @@ -10,7 +10,8 @@ export default function SalaryStatsRegistrationItem({ cycleData }) {
const stats = useFellowshipSalaryStats();

const { totalRegistrations } = stats || {};
const { decimals, symbol } = getSalaryAsset();
const { indexer } = cycleData || {};
const { decimals, symbol } = useSalaryAsset(indexer?.blockHeight);
const { registeredCount } = cycleData || {};

return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,15 @@ import { isNil } from "lodash-es";
import LoadableContent from "next-common/components/common/loadableContent";
import ValueDisplay from "next-common/components/valueDisplay";
import { toPrecision } from "next-common/utils";
import { getSalaryAsset } from "next-common/utils/consts/getSalaryAsset";
import { useSalaryAsset } from "next-common/hooks/fellowship/salary/useSalaryAsset";
import { useFellowshipSalaryStats } from "next-common/hooks/fellowship/salary/useFellowshipSalaryStats";

export default function SalaryStatsUnregisteredItem({ cycleData }) {
const stats = useFellowshipSalaryStats();

const { totalUnregisteredPaid } = stats || {};
const { decimals, symbol } = getSalaryAsset();
const { indexer } = cycleData || {};
const { decimals, symbol } = useSalaryAsset(indexer?.blockHeight);
const { unRegisteredPaidCount } = cycleData || {};

return (
Expand Down
Loading
Loading