3
3
import { Card } from "@pythnetwork/component-library/Card" ;
4
4
import { Label } from "@pythnetwork/component-library/unstyled/Label" ;
5
5
import { Input } from "@pythnetwork/component-library/unstyled/TextField" ;
6
- import clsx from "clsx" ;
7
- import React , { useState , useEffect } from "react" ;
6
+ import { clsx } from "clsx" ;
7
+ import { useState , useEffect } from "react" ;
8
8
9
9
import styles from "./index.module.scss" ;
10
10
11
- // Simple Math component for inline mathematical expressions
12
- const MathExpression : React . FC < { children : React . ReactNode } > = ( { children } ) => {
13
- return < span className = "katex" > { children } </ span > ;
14
- } ;
11
+ // Components for mathematical notation
12
+ const MathExpression = ( { children } : { children : React . ReactNode } ) => (
13
+ < span className = { clsx ( styles . mathExpression ) } > { children } </ span >
14
+ ) ;
15
15
16
16
// Component for subscripts and superscripts
17
- const Sub : React . FC < { children : React . ReactNode } > = ( { children } ) => (
17
+ const Sub = ( { children } : { children : React . ReactNode } ) => (
18
18
< sub > { children } </ sub >
19
19
) ;
20
- const Sup : React . FC < { children : React . ReactNode } > = ( { children } ) => (
20
+
21
+ const Sup = ( { children } : { children : React . ReactNode } ) => (
21
22
< sup > { children } </ sup >
22
23
) ;
23
24
@@ -73,7 +74,8 @@ const RewardSimulator: React.FC = () => {
73
74
< Label htmlFor = "publisher-stake" >
74
75
Publisher Stake (
75
76
< MathExpression >
76
- S< Sub > p</ Sub > < Sup > p</ Sup >
77
+ S< Sub > p</ Sub >
78
+ < Sup > p</ Sup >
77
79
</ MathExpression >
78
80
):
79
81
</ Label >
@@ -88,11 +90,13 @@ const RewardSimulator: React.FC = () => {
88
90
min = "0"
89
91
/>
90
92
</ div >
93
+
91
94
< div className = { clsx ( styles . inputGroup ) } >
92
95
< Label htmlFor = "delegator-stake" >
93
96
Delegator Stake (
94
97
< MathExpression >
95
- S< Sub > p</ Sub > < Sup > d</ Sup >
98
+ S< Sub > p</ Sub >
99
+ < Sup > d</ Sup >
96
100
</ MathExpression >
97
101
):
98
102
</ Label >
@@ -107,6 +111,7 @@ const RewardSimulator: React.FC = () => {
107
111
min = "0"
108
112
/>
109
113
</ div >
114
+
110
115
< div className = { clsx ( styles . inputGroup ) } >
111
116
< Label htmlFor = "max-cap" >
112
117
Maximum Cap (
@@ -126,6 +131,7 @@ const RewardSimulator: React.FC = () => {
126
131
min = "0"
127
132
/>
128
133
</ div >
134
+
129
135
< div className = { clsx ( styles . inputGroup ) } >
130
136
< Label htmlFor = "delegator-fee" >
131
137
Delegator Fee (< MathExpression > f</ MathExpression > ) (%):
@@ -143,6 +149,7 @@ const RewardSimulator: React.FC = () => {
143
149
step = "0.1"
144
150
/>
145
151
</ div >
152
+
146
153
< div className = { clsx ( styles . inputGroup ) } >
147
154
< Label htmlFor = "reward-rate" >
148
155
Reward Rate (< MathExpression > r</ MathExpression > ) (%):
@@ -161,6 +168,7 @@ const RewardSimulator: React.FC = () => {
161
168
/>
162
169
</ div >
163
170
</ div >
171
+
164
172
< div className = { clsx ( styles . resultsSection ) } >
165
173
< div className = { clsx ( styles . resultsGrid ) } >
166
174
< div className = { clsx ( styles . resultGroup ) } >
@@ -170,7 +178,8 @@ const RewardSimulator: React.FC = () => {
170
178
< span className = { clsx ( styles . resultLabel ) } >
171
179
Publisher Reward (
172
180
< MathExpression >
173
- R< Sup > p</ Sup > < Sub > p</ Sub >
181
+ R< Sup > p</ Sup >
182
+ < Sub > p</ Sub >
174
183
</ MathExpression >
175
184
):
176
185
</ span > { " " }
@@ -182,7 +191,8 @@ const RewardSimulator: React.FC = () => {
182
191
< span className = { clsx ( styles . resultLabel ) } >
183
192
Delegator Reward (
184
193
< MathExpression >
185
- R< Sup > d</ Sup > < Sub > p</ Sub >
194
+ R< Sup > d</ Sup >
195
+ < Sub > p</ Sub >
186
196
</ MathExpression >
187
197
):
188
198
</ span > { " " }
@@ -192,6 +202,7 @@ const RewardSimulator: React.FC = () => {
192
202
</ p >
193
203
</ div >
194
204
</ div >
205
+
195
206
< div className = { clsx ( styles . resultGroup ) } >
196
207
< h4 className = { clsx ( styles . resultTitle ) } >
197
208
Calculated Reward Rates (Yearly)
@@ -201,7 +212,8 @@ const RewardSimulator: React.FC = () => {
201
212
< span className = { clsx ( styles . resultLabel ) } >
202
213
Publisher Rate (
203
214
< MathExpression >
204
- r< Sup > p</ Sup > < Sub > p</ Sub >
215
+ r< Sup > p</ Sup >
216
+ < Sub > p</ Sub >
205
217
</ MathExpression >
206
218
):
207
219
</ span > { " " }
@@ -213,7 +225,8 @@ const RewardSimulator: React.FC = () => {
213
225
< span className = { clsx ( styles . resultLabel ) } >
214
226
Delegator Rate (
215
227
< MathExpression >
216
- r< Sup > d</ Sup > < Sub > p</ Sub >
228
+ r< Sup > d</ Sup >
229
+ < Sub > p</ Sub >
217
230
</ MathExpression >
218
231
):
219
232
</ span > { " " }
@@ -229,4 +242,4 @@ const RewardSimulator: React.FC = () => {
229
242
) ;
230
243
} ;
231
244
232
- export default RewardSimulator ;
245
+ export default RewardSimulator ;
0 commit comments