Skip to content

Commit

Permalink
refactor: more clean
Browse files Browse the repository at this point in the history
  • Loading branch information
pbullhove committed Apr 2, 2024
1 parent a5a285e commit bd1feaa
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 108 deletions.
8 changes: 4 additions & 4 deletions web/src/Components/Bridging/BridgeContainer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ import { useContext, useEffect, useState } from 'react'
import { FractionsAPI } from '../../Api'
import { BridgingOption, CeramicDiscsValues } from '../../Enums'
import { AuthContext } from 'react-oauth2-code-pkce'
import BridgeGraph from './BridgeGraph'
import { ErrorToast } from '../Common/Toast'
import InputContainer from './InputContainer'
import { findGraphData } from '../../Utils'
import ParticleSizeDistributionGraph from './ParticleSizeDistributionGraph'
import CumulativeGraph from './CumulativeGraph'
import DistributionGraph from './DistributionGraph'

export default ({ bridges, mode, setMode, bridgeValue, setValue }) => {
const [sizeFractions, setSizeFractions] = useState([])
Expand Down Expand Up @@ -88,8 +88,8 @@ export default ({ bridges, mode, setMode, bridgeValue, setValue }) => {
bridgeValueHelperText={bridgeValueHelperText}
/>
<div style={{ display: 'flex', alignItems: 'center', backgroundColor: 'white' }}>
<BridgeGraph bridges={bridges} sizeFractions={sizeFractions} />
<ParticleSizeDistributionGraph bridges={bridges} sizeFractions={sizeFractions} />
<CumulativeGraph bridges={bridges} sizeFractions={sizeFractions} />
<DistributionGraph bridges={bridges} sizeFractions={sizeFractions} />
</div>
</div>
)
Expand Down
8 changes: 1 addition & 7 deletions web/src/Components/Bridging/BridgeGraph.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@ import { ParticleSizeContext } from '../../Context'
import { findGraphData } from '../../Utils'
import { graphColors } from './styles'

export function BridgeGraph({ bridges, sizeFractions }) {
const [graphData, setGraphData] = useState([])
export function BridgeGraph({ graphData, sizeFractions, bridges }) {
const [particleFromPercentage, setParticleFromPercentage] = useState('')
const [particleToPercentage, setParticleToPercentage] = useState('')
const particleRange = useContext(ParticleSizeContext)
Expand All @@ -26,11 +25,6 @@ export function BridgeGraph({ bridges, sizeFractions }) {
return `${percentage}%`
}

useEffect(() => {
const newGraphData = findGraphData(sizeFractions, bridges)
setGraphData(newGraphData)
}, [bridges, sizeFractions])

return (
<div style={{ backgroundColor: 'white', borderRadius: '0.5rem' }}>
<AreaChart data={graphData} margin={{ top: 5, right: 30, left: 20, bottom: 5 }} width={980} height={500}>
Expand Down
21 changes: 1 addition & 20 deletions web/src/Components/Bridging/CumulativeGraph.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,32 +5,13 @@ import BridgeGraph from './BridgeGraph'

export function CumulativeGraph({ bridges, sizeFractions }) {
const [graphData, setGraphData] = useState([])
const [particleFromPercentage, setParticleFromPercentage] = useState('')
const [particleToPercentage, setParticleToPercentage] = useState('')
const particleRange = useContext(ParticleSizeContext)

useEffect(() => {
setParticleFromPercentage(particleSizeOffsetPercentage(particleRange.from))
if (particleRange.to > sizeFractions[sizeFractions.length - 1]) {
setParticleToPercentage(sizeFractions[sizeFractions.length - 1])
} else {
setParticleToPercentage(particleSizeOffsetPercentage(particleRange.to))
}
}, [particleRange, sizeFractions])

function particleSizeOffsetPercentage(offsetSize) {
const index = sizeFractions.findIndex(size => size > offsetSize)
if (index === -1) return ''
const percentage = Math.round(index / sizeFractions.length) * 100
return `${percentage}%`
}

useEffect(() => {
const newGraphData = findGraphData(sizeFractions, bridges)
setGraphData(newGraphData)
}, [bridges, sizeFractions])

return <BridgeGraph graphData={graphData} bridges={bridges} />
return <BridgeGraph graphData={graphData} bridges={bridges} sizeFractions={sizeFractions} />
}

export default CumulativeGraph
18 changes: 18 additions & 0 deletions web/src/Components/Bridging/DistributionGraph.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import { useEffect, useState } from 'react'
import { findGraphData } from '../../Utils'
import { differentiateArrayObjects } from './utils'
import BridgeGraph from './BridgeGraph'

export function ParticleSizeDistributionGraph({ bridges, sizeFractions }) {
const [graphData, setGraphData] = useState([])

useEffect(() => {
const newGraphData = findGraphData(sizeFractions, bridges)
const diffentiated = differentiateArrayObjects(newGraphData)
setGraphData(diffentiated)
}, [bridges, sizeFractions])

return <BridgeGraph graphData={graphData} sizeFractions={sizeFractions} bridges={bridges} />
}

export default ParticleSizeDistributionGraph
77 changes: 0 additions & 77 deletions web/src/Components/Bridging/ParticleSizeDistributionGraph.tsx

This file was deleted.

0 comments on commit bd1feaa

Please sign in to comment.