This commit is contained in:
MehrdadAdabi 2025-10-13 02:44:54 +03:30
commit 0dd1fe2ec2
2 changed files with 40 additions and 24 deletions

View File

@ -62,12 +62,6 @@ export function DashboardHome() {
setLoading(true); setLoading(true);
setError(null); setError(null);
// First authenticate if needed
const token = localStorage.getItem("auth_token");
if (!token) {
await apiService.login("inogen_admin", "123456");
}
// Fetch top cards data // Fetch top cards data
const topCardsResponse = await apiService.call({ const topCardsResponse = await apiService.call({
main_page_first_function: { main_page_first_function: {

View File

@ -6,24 +6,46 @@ import { cn, formatNumber } from "~/lib/utils"
const Progress = React.forwardRef< const Progress = React.forwardRef<
React.ElementRef<typeof ProgressPrimitive.Root>, React.ElementRef<typeof ProgressPrimitive.Root>,
React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root> React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root>
>(({ className, value, ...props }, ref) => ( >(({ className, value, ...props }, ref) => {
<ProgressPrimitive.Root // Dynamic scaling logic based on value ranges
ref={ref} const getScaledValue = (inputValue: number) => {
className={cn( const numValue = Number(inputValue);
"relative h-4 w-full overflow-hidden rounded-full bg-pr-gray", if (numValue <= 1) {
className return numValue * 100;
)} }
{...props} else if (numValue <= 10) {
> return (numValue / 10) * 100;
<span className="left-0 text-sm absolute z-10 px-2 text-[#5F6284]">۰%</span> } else if (numValue <= 50) {
<span className="w-full right-0 text-sm absolute z-10 px-2 text-[#5F6284]" return (numValue / 50) * 100;
>{formatNumber(Math.ceil(value || 0 * 10) / 10)}%</span> }
<ProgressPrimitive.Indicator else {
className="h-full w-full flex-1 bg-pr-green transition-all" return numValue
style={{ transform: `translateX(-${15 - (value || 0)}%)` }} }
/> };
</ProgressPrimitive.Root>
)) const scaledValue = getScaledValue(Number(value) || 0);
const displayValue = Number(value) || 0;
return (
<ProgressPrimitive.Root
ref={ref}
className={cn(
"relative h-4 w-full overflow-hidden rounded-full bg-pr-gray",
className
)}
{...props}
>
<span className="left-0 text-sm absolute z-10 px-2 text-[#5F6284]">۰%</span>
<span className="w-full right-0 text-sm absolute z-10 px-2 text-[#5F6284]">
{formatNumber(displayValue.toFixed(2))}%
</span>
<ProgressPrimitive.Indicator
className="h-full w-full flex-1 bg-pr-green transition-all z-20"
style={{ transform: `translateX(-${100-scaledValue}%)` }}
/>
</ProgressPrimitive.Root>
)
})
Progress.displayName = ProgressPrimitive.Root.displayName Progress.displayName = ProgressPrimitive.Root.displayName
export { Progress } export { Progress }