check list

This commit is contained in:
hamid zarghami
2026-06-17 12:20:54 +03:30
parent c62e958e91
commit 707908fe03
6 changed files with 123 additions and 25 deletions
+18
View File
@@ -0,0 +1,18 @@
import { type FC } from "react";
type Props = {
value: number;
className?: string;
};
const ProgressBar: FC<Props> = ({ value, className = "" }) => {
const progress = Math.min(100, Math.max(0, value));
return (
<div className={`flex-1 h-[5px] rounded-full bg-white/40 flex overflow-hidden ${className}`}>
<div className="h-full rounded-full bg-black" style={{ width: `${progress}%` }} />
</div>
);
};
export default ProgressBar;
+17 -24
View File
@@ -1,30 +1,23 @@
import { Trash } from 'iconsax-react'
import { FC, useState } from 'react'
import ModalConfrim from './ModalConfrim'
import { Trash } from "iconsax-react";
import { FC, useState } from "react";
import ModalConfrim from "./ModalConfrim";
interface Props {
onDelete: () => void,
isLoading?: boolean
onDelete: () => void;
isLoading?: boolean;
size?: number;
color?: string;
}
const TrashWithConfrim: FC<Props> = ({ onDelete, isLoading = false }) => {
const [isConfirm, setIsConfirm] = useState(false)
return (
<div>
<Trash
onClick={() => setIsConfirm(true)}
className='size-5'
color='#888'
/>
const TrashWithConfrim: FC<Props> = ({ onDelete, isLoading = false, size = 20, color = "#888" }) => {
const [isConfirm, setIsConfirm] = useState(false);
return (
<div>
<Trash onClick={() => setIsConfirm(true)} color={color} size={size} />
<ModalConfrim
isOpen={isConfirm}
close={() => setIsConfirm(false)}
onConfrim={() => onDelete()}
isLoading={isLoading}
/>
</div>
)
}
<ModalConfrim isOpen={isConfirm} close={() => setIsConfirm(false)} onConfrim={() => onDelete()} isLoading={isLoading} />
</div>
);
};
export default TrashWithConfrim
export default TrashWithConfrim;