diff --git a/src/components/Onboarding/Screens/Apps/IssuanceSettings/IssuanceChart.js b/src/components/Onboarding/Screens/Apps/IssuanceSettings/IssuanceChart.js new file mode 100644 index 000000000..97baaf754 --- /dev/null +++ b/src/components/Onboarding/Screens/Apps/IssuanceSettings/IssuanceChart.js @@ -0,0 +1,62 @@ +import React, { useMemo } from 'react' +import { ChartBase } from '@components/Onboarding/kit/ChartComponents' +import { ResponsiveLine } from '@nivo/line' +import { useCharts } from '@/providers/Charts' +import { generateElements } from '@/utils/conviction-modelling-helpers' +import { YEARS_IN_SECONDS } from '@/utils/kit-utils' + +const DEFAULT_MAX_MONTH = 12 +const DEFAULT_INCREMENT = 1 / 2 + +const calculateRatio = maxAdjustmentRatioPerSeconds => { + // TODO: calculate ratio... + return 0 +} +const computeChartData = ( + maxAdjustmentRatioPerYear, + targetRatio, + maxMonth, + increment +) => { + const maxAdjustmentRatioPerSeconds = + maxAdjustmentRatioPerYear * YEARS_IN_SECONDS + const timeData = generateElements(maxMonth, increment) + + return timeData.map(time => ({ + x: time, + y: calculateRatio(maxAdjustmentRatioPerSeconds), + })) +} + +const IssuanceChart = ({ + height, + width, + maxAdjustmentRatioPerYear, + targetRatio, +}) => { + const { commonProps, createAxis } = useCharts() + const chartData = useMemo( + () => + computeChartData( + maxAdjustmentRatioPerYear, + targetRatio, + DEFAULT_MAX_MONTH, + DEFAULT_INCREMENT + ), + [maxAdjustmentRatioPerYear, targetRatio] + ) + return ( +
+ + + +
+ ) +} + +export default IssuanceChart diff --git a/src/components/Onboarding/Screens/Apps/IssuanceSettings/index.js b/src/components/Onboarding/Screens/Apps/IssuanceSettings/index.js index 47ff4f2cd..1a5476528 100644 --- a/src/components/Onboarding/Screens/Apps/IssuanceSettings/index.js +++ b/src/components/Onboarding/Screens/Apps/IssuanceSettings/index.js @@ -3,6 +3,10 @@ import { GU, Help } from '@1hive/1hive-ui' import { useOnboardingState } from '@providers/Onboarding' import { Header, PercentageField } from '@components/Onboarding/kit' import Navigation from '@components/Onboarding/Navigation' +// import IssuanceChart from './IssuanceChart' + +// const CHART_HEIGHT = '350px' +// const CHART_WIDTH = '100%' function reduceFields(fields, [field, value]) { switch (field) { @@ -93,6 +97,20 @@ function IssuanceSettings() { value={maxAdjustmentRatioPerYear} onChange={handleMaxAdjustmentRatioPerYear} /> + {/* Issuance chart */} + {/*
+ +
*/}