This commit is contained in:
hamid zarghami
2025-01-11 12:46:02 +03:30
parent f983ef12a2
commit 24fbeece97
19 changed files with 503 additions and 16 deletions
+20
View File
@@ -0,0 +1,20 @@
import { FC } from 'react'
type Props = {
isActive: boolean,
value: 'year' | '3month' | 'month',
onChange: (value: 'year' | '3month' | 'month') => void
}
const Radio: FC<Props> = (props: Props) => {
return (
<div onClick={() => props.onChange(props.value)} className='size-4 cursor-pointer rounded-full bg-[#EAEDF5] flex justify-center items-center'>
{
props.isActive &&
<div className='size-2 bg-black rounded-full'></div>
}
</div>
)
}
export default Radio
+31
View File
@@ -0,0 +1,31 @@
import { FC } from 'react'
import Radio from './Radio'
type Props = {
items: {
label: string
value: 'year' | '3month' | 'month'
}[]
selected: string
onChange: (value: 'year' | '3month' | 'month') => void
}
const RadioGroup: FC<Props> = (props: Props) => {
return (
<div className='flex gap-5 items-center text-xs'>
{
props.items.map((item, index) => (
<div key={index} className='flex gap-2 items-center'>
<Radio value={item.value} onChange={props.onChange} isActive={item.value === props.selected} />
<div className='mt-0.5'>
{item.label}
</div>
</div>
))
}
</div>
)
}
export default RadioGroup