Skip to content

Commit

Permalink
refactor: pr comments
Browse files Browse the repository at this point in the history
  • Loading branch information
franciscotobar committed Dec 4, 2024
1 parent 027041c commit 5d23787
Show file tree
Hide file tree
Showing 6 changed files with 13 additions and 33 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ const formSchema = z.object({
export const BuilderRewardsSettingsForm: FC = () => {
const router = useRouter()
const [backButtonName, setBackButtonName] = useState('Cancel')
let {
const {
current: { refetch, isLoading: isCurrentRewardsLoading },
update: { isSuccess, setNewReward, isPending },
isBuilderOperational,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,14 @@ import {
import { createContext, FC, ReactNode, useContext } from 'react'
import { Address } from 'viem'
import { useAccount } from 'wagmi'
import { useGetIsBuilderOperational } from '@/app/collective-rewards/settings'
import { useBuilderContext } from '@/app/collective-rewards/user'
import { isBuilderOperational } from '@/app/collective-rewards/utils'

type BackerRewardsPercentageContext = {
update: SetBackerRewardsForBuilder
current: BackerRewardResponse
rewardPercentageToApply: RewardPercentageToApply
isBuilderOperational?: boolean
isBuilderOperational: boolean
}

const BuilderSettingsContext = createContext<BackerRewardsPercentageContext>(
Expand All @@ -24,17 +25,19 @@ const BuilderSettingsContext = createContext<BackerRewardsPercentageContext>(
export const useBuilderSettingsContext = () => useContext(BuilderSettingsContext)

export const BuilderSettingsProvider: FC<{ children: ReactNode }> = ({ children }) => {
const { getBuilderByAddress } = useBuilderContext()
const { address } = useAccount()
const current = useGetBackerRewardsForBuilder(address as Address)
const update = useSetBackerRewardsForBuilder()
const rewardPercentageToApply = useGetRewardPercentageToApply(address as Address)
const { data: isBuilderOperational } = useGetIsBuilderOperational(address as Address)
const builder = getBuilderByAddress(address as Address)
const isOperational = builder ? isBuilderOperational(builder.stateFlags) : false

const contextValue: BackerRewardsPercentageContext = {
update,
current,
rewardPercentageToApply,
isBuilderOperational,
isBuilderOperational: isOperational,
}

return <BuilderSettingsContext.Provider value={contextValue}>{children}</BuilderSettingsContext.Provider>
Expand Down
1 change: 0 additions & 1 deletion src/app/collective-rewards/settings/builder/hooks/index.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
export * from './useBuilderConfig'
export * from './useGetIsBuilderOperational'

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -207,17 +207,12 @@ export const ActionCell: FC<ActionCellProps> = ({ tableHeader: { className }, bu
[selections, builderAddress, isPreallocated],
)

const isBuilderOperational = useMemo(() => {
const isOperational = useMemo(() => {
if (!builder) {
console.log('Builder not found in selection') // TODO: handle this case better
return
}
return (
builder.stateFlags &&
builder.stateFlags.kycApproved &&
builder.stateFlags.communityApproved &&
!builder.stateFlags.paused
)
return isBuilderOperational(builder.stateFlags)
}, [builder])

const selectBuilder = () => {
Expand All @@ -228,7 +223,7 @@ export const ActionCell: FC<ActionCellProps> = ({ tableHeader: { className }, bu
<TableCell className={cn(className, 'border-solid align-center')}>
<Button
variant={isSelected ? 'white' : 'secondary'}
disabled={!isBuilderOperational || isPreallocated}
disabled={!isOperational || isPreallocated}
onClick={selectBuilder}
className="white text-center"
>
Expand Down
4 changes: 2 additions & 2 deletions src/app/collective-rewards/utils/getMostAdvancedProposal.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ import { ProposalState } from '@/shared/types'

const inactiveProposalsStates = [ProposalState.Canceled, ProposalState.Defeated, ProposalState.Expired]
const isActive = (state: ProposalState) => !inactiveProposalsStates.includes(state)
const isBuilderActive = (status?: BuilderStateFlags) =>
!status || status.activated || status.communityApproved
const isBuilderActive = (stateFlags?: BuilderStateFlags) =>
!stateFlags || stateFlags.activated || stateFlags.communityApproved

export const getMostAdvancedProposal = (
proposalsEvent: CreateBuilderProposalEventLog[],
Expand Down

0 comments on commit 5d23787

Please sign in to comment.