fix(ui): remove invalid MUI v5 Button loading prop project-wide

prop loading روی Button فقط در MUI v6+ پشتیبانی می‌شود؛ این پروژه v5 است
و هشدار "Received false for a non-boolean attribute loading" می‌داد.
- دکمه‌های login/verify: disabled + CircularProgress شرطی (بازخورد بصری حفظ شد)
- بقیه دکمه‌ها: loading → disabled (ادغام با disabled موجود در صورت وجود)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
hamed
2026-06-15 00:30:55 +03:30
co-authored by Claude Opus 4.8
parent ecc212db86
commit 8255283ec0
16 changed files with 19 additions and 21 deletions
+1 -1
View File
@@ -129,7 +129,7 @@ function SubmitData({ setStep, data, prevData, setErrors, doctor, selectedSlot,
return (
<ButtonFixed>
<Button
loading={loading}
disabled={loading}
className={`
!flex !w-full md:!w-fit !mt-0 md:!mt-[32px]
!gap-[4px] md:!mr-auto !px-[12px] !py-[8px] md:!py-[9px] !min-w-[150px]
@@ -16,7 +16,7 @@ function ButtonApply({ sendReq, setOpen }) {
return (
<div className="flex justify-end w-full">
<Button
loading={loading}
disabled={loading}
variant="contained"
onClick={handleClick}
className="!px-3 !py-2 !text-[16px] !font-medium"
@@ -29,7 +29,7 @@ function SendReq({ filter, setFilter, setDataInURL, sendReq }) {
};
return (
<Button
loading={loading}
disabled={loading}
onClick={filterData}
className="!flex !m-1 !rounded-[4px] !w-[36px] sm:!w-[42px] md:!w-[49px] lg:!w-[56px] !min-w-[36px] sm:!min-w-[42px] md:!min-w-[49px] lg:!min-w-[56px]
!gap-2.5 !p-2.5 md:!p-4 !h-[calc(100%_-_8px)]"
+1 -1
View File
@@ -21,7 +21,7 @@ function FilterButton({ limit, selected, filterData }) {
return (
<Button
onClick={sendReq}
loading={loading}
disabled={loading}
className="
!rounded-[4px] !gap-2.5 !p-2 md:!p-3 lg:!p-4 !grid !place-items-center
!w-[38px] sm:!w-[44px] md:!w-[50px] lg:!w-[56px]
+1 -1
View File
@@ -73,7 +73,7 @@ function Content({
<div className="w-full flex justify-end">
<Button
color="primary"
loading={loading}
disabled={loading}
variant="contained"
onClick={handleFilter}
disabled={!selected.city || !selected.province}
+1 -1
View File
@@ -68,7 +68,7 @@ function ItemClinic({ setFilteredClinics, data, loading }) {
<Link href={`/clinic/${data.uuid}`}>
<Button
onClick={handleLoading}
loading={data?.loading}
disabled={data?.loading}
className="!bg-[#5559CE] !p-[14px] !absolute !left-4 !bottom-4 !rounded-full !w-fit"
>
<div className={data && data.loading ? "opacity-0" : ""}>
@@ -90,8 +90,7 @@ function ButtonSendData({
<Button
variant="contained"
onClick={sendReq}
loading={loading}
disabled={isDisabled()}
disabled={loading || isDisabled()}
className={`!gap-[4px] !mr-auto !text-nowrap !flex !flex-nowrap !py-[8px]
!rounded-[4px] !text-[14px] md:!text-[16px] !font-medium
!mt-[32px] sm:!mt-[38px] md:!mt-[43px] lg:!mt-[48px] !px-[16px] sm:!px-[19px] md:!px-[22px] lg:!px-[24px]
@@ -79,7 +79,7 @@ function Form({
/>
<Button
onClick={sendReq}
loading={loading}
disabled={loading}
variant="contained"
className="!py-2.5 !mr-auto !px-4 gap-1 !text-[14px] !font-medium !mt-[32px] !shadownon"
>
@@ -52,10 +52,9 @@ function SendReq({ img, data, resetData }) {
<div className="mt-[40px] w-full flex justify-end">
<Button
className="!w-full md:!w-fit !shadow-none !rounded-[4px] !gap-[4px] !text-[#EFEFEF] !text-[14px] md:!text-[16px] !font-medium"
disabled={!checkAllValues(data)}
disabled={loading || !checkAllValues(data)}
variant="contained"
onClick={saveImg}
loading={loading}
>
<p className={loading ? "opacity-0" : ""}>ثبت اطلاعات</p>
<div className={!checkAllValues(data) ? "opacity-40" : "opacity-100"}>
+3 -3
View File
@@ -1,7 +1,7 @@
import Field from "@/app/component/element/Field";
import { validatePhoneNumber } from "@/helper";
import { request } from "@/services/response";
import { InputAdornment, Button } from "@mui/material";
import { InputAdornment, Button, CircularProgress } from "@mui/material";
import Link from "next/link";
import { useState } from "react";
import { toast } from "react-toastify";
@@ -72,7 +72,7 @@ function LogInPage({ setIsSendMsg, num, setNum, setUuid, matchedCity, setStep })
<Button
fullWidth
variant="contained"
loading={loading}
disabled={loading}
onClick={() => {
const checkedNum = validatePhoneNumber(num);
if (!checkedNum.valid) {
@@ -83,7 +83,7 @@ function LogInPage({ setIsSendMsg, num, setNum, setUuid, matchedCity, setStep })
}}
className="!rounded-[8px] !bg-[#5559CE] !py-[7.5px] md:!py-[8.5px] lg:!py-[10px]"
>
ورود
{loading ? <CircularProgress size={22} sx={{ color: "#fff" }} /> : "ورود"}
</Button>
<p className="text-[#525252] text-[14px] font-normal text-center mt-[34px] sm:mt-[36px] md:mt-[38px] lg:mt-[40px]">
<Link href="/">
@@ -1,4 +1,4 @@
import { Button } from "@mui/material";
import { Button, CircularProgress } from "@mui/material";
import { request } from "@/services/response";
import Cookies from "js-cookie";
import { handleTimeExpiresToken } from "@/helper";
@@ -112,7 +112,7 @@ function SendReq({
}}
className="!rounded-[8px] !bg-[#5559CE]"
>
تایید
{loading ? <CircularProgress size={22} sx={{ color: "#fff" }} /> : "تایید"}
</Button>
);
}