Initial commit: Tapalka monorepo (bot, front, strapi)
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
'use client';
|
||||
import React, { Dispatch, FC, SetStateAction, useState } from 'react';
|
||||
import styles from '@/components/ui/modal-exchange/ModalExchange.module.css';
|
||||
|
||||
interface INicknameInput {
|
||||
nickname: string;
|
||||
setNickname: Dispatch<SetStateAction<string>>;
|
||||
}
|
||||
|
||||
const NicknameInput: FC<INicknameInput> = ({ nickname, setNickname }) => {
|
||||
const handleChangeNickname = (e: React.ChangeEvent<HTMLInputElement>) => {
|
||||
setNickname(e.target.value);
|
||||
};
|
||||
|
||||
return (
|
||||
<div className={styles.nickname}>
|
||||
<span className={styles.nicknameTitle}>Укажите ваш профиль в Roblox</span>
|
||||
<input
|
||||
placeholder={'Ник в Roblox'}
|
||||
type={'text'}
|
||||
value={nickname}
|
||||
onChange={handleChangeNickname}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default NicknameInput;
|
||||
@@ -0,0 +1,48 @@
|
||||
'use client';
|
||||
import { Dispatch, FC, SetStateAction } from 'react';
|
||||
import styles from '@/components/ui/modal-exchange/ModalExchange.module.css';
|
||||
|
||||
interface IRangeInput {
|
||||
isDecimal: boolean;
|
||||
balance: number | undefined;
|
||||
amount: number;
|
||||
priceItem: number;
|
||||
rangeRef: React.RefObject<HTMLInputElement>;
|
||||
setAmount: Dispatch<SetStateAction<number>>;
|
||||
}
|
||||
|
||||
const RangeInput: FC<IRangeInput> = ({
|
||||
isDecimal,
|
||||
balance,
|
||||
priceItem,
|
||||
amount,
|
||||
rangeRef,
|
||||
setAmount,
|
||||
}) => {
|
||||
const handleRangeChange = (e: React.ChangeEvent<HTMLInputElement>) => {
|
||||
let value = parseFloat(e.target.value);
|
||||
if (!isDecimal) {
|
||||
value = Math.round(value / priceItem) * priceItem;
|
||||
} else {
|
||||
value = parseFloat(value.toFixed(6));
|
||||
}
|
||||
setAmount(value);
|
||||
};
|
||||
|
||||
return (
|
||||
<div className={styles.inputRange}>
|
||||
<input
|
||||
type='range'
|
||||
id='amountRange'
|
||||
min='0'
|
||||
max={balance}
|
||||
step={isDecimal ? '0.000001' : priceItem.toString()}
|
||||
value={amount}
|
||||
onChange={handleRangeChange}
|
||||
ref={rangeRef}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default RangeInput;
|
||||
Reference in New Issue
Block a user