Skip to content

Commit

Permalink
💄 style: Optimized MaxToken Slider (#5952)
Browse files Browse the repository at this point in the history
  • Loading branch information
sxjeru authored Feb 10, 2025
1 parent d7c3edb commit 3cdcb95
Showing 1 changed file with 10 additions and 9 deletions.
19 changes: 10 additions & 9 deletions src/components/MaxTokenSlider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ const MaxTokenSlider = memo<MaxTokenSliderProps>(({ value, onChange, defaultValu
const updateWithPowValue = (value: number) => {
setPowValue(value);

setTokens(getRealValue(value) === 1 ? 0 : powerKibi(value));
setTokens(getRealValue(value) <= 2 ? 0 : powerKibi(value));
};

const updateWithRealValue = (value: number) => {
Expand All @@ -48,16 +48,16 @@ const MaxTokenSlider = memo<MaxTokenSliderProps>(({ value, onChange, defaultValu

const marks = useMemo(() => {
return {
[exponent(1)]: '0',
[exponent(2)]: isMobile ? '2' : '2K', // 2 Kibi = 2048
[exponent(4)]: isMobile ? '4' : '4K',
[exponent(2)]: '0',
[exponent(4)]: isMobile ? '4' : '4K', // 4 Kibi = 4096
[exponent(8)]: isMobile ? '8' : '8K',
[exponent(16)]: isMobile ? '16' : '16K',
[exponent(32)]: isMobile ? '32' : '32K',
[exponent(64)]: isMobile ? '64' : '64K',
[exponent((128 / Kibi) * 1000)]: ' ', // hide tick mark
[exponent((200 / Kibi) * 1000)]: isMobile ? '200' : '200k', // 200,000
[exponent(Kibi)]: isMobile ? '1024' : '1M',
[exponent(Kibi)]: '1M',
[exponent(2 * Kibi)]: '2M',
};
}, [isMobile]);

Expand All @@ -66,14 +66,14 @@ const MaxTokenSlider = memo<MaxTokenSliderProps>(({ value, onChange, defaultValu
<Flexbox flex={1}>
<Slider
marks={marks}
max={exponent(Kibi)}
min={0}
max={exponent(2 * Kibi)}
min={exponent(2)}
onChange={updateWithPowValue}
step={null}
tooltip={{
formatter: (x) => {
if (typeof x === 'undefined') return;
if (x === 0) return t('MaxTokenSlider.unlimited');
if (x <= exponent(2)) return t('MaxTokenSlider.unlimited');

let value = getRealValue(x);
if (value < 125) return value.toFixed(0) + 'K';
Expand All @@ -86,13 +86,14 @@ const MaxTokenSlider = memo<MaxTokenSliderProps>(({ value, onChange, defaultValu
</Flexbox>
<div>
<InputNumber
changeOnWheel
min={0}
onChange={(e) => {
if (!e && e !== 0) return;

updateWithRealValue(e);
}}
step={2 * Kibi}
step={4 * Kibi}
value={token}
/>
</div>
Expand Down

0 comments on commit 3cdcb95

Please # to comment.