Initial commit: Tapalka monorepo (bot, front, strapi)

This commit is contained in:
2026-05-21 11:54:44 +07:00
commit 9ec9485940
208 changed files with 58314 additions and 0 deletions

View File

@@ -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;

View File

@@ -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;