This commit is contained in:
mmrbnjd
2025-07-31 19:45:10 +03:30
parent 23c4bc2800
commit 15ca5f7e60

View File

@@ -37,7 +37,8 @@
</Button>
</div>
}
else{
else
{
<label for="user-name" class="block mb-2 text-slate-600 font-bold">
جهت احراز کد ارسال شده را وارد کنید
</label>
@@ -68,6 +69,25 @@
</div>
</div>
<Button Color="ButtonColor.Link"
Disabled="@isButtonDisabled"
@onclick="async () =>
{
await verificationService.ReSendCode(ID);
await verifiTimer();
}"
Style="padding: 6px 16px; font-size: 14px; background-color: #f8f9fa; transition: all 0.3s ease; display: inline-flex; align-items: center; gap: 8px; margin-top: 10px;margin-bottom: -10px;">
<span>ارسال مجدد</span>
@if (countdown > 0)
{
<span style="color: #dc3545; font-weight: bold;">(@countdown)</span>
}
</Button>
}
</div>
</div>
@@ -83,6 +103,9 @@
private string code1, code2, code3, code4;
private ElementReference input1, input2, input3, input4;
string validateStyleUser = "";
private bool isButtonDisabled = true;
private int countdown = 60;
private System.Timers.Timer? timer;
}
@functions {
async Task Login()
@@ -95,7 +118,7 @@
Mobile = Username.Replace("-", "")
});
validateStyleUser = "";
await verifiTimer();
visible = false;
}
else
@@ -104,6 +127,33 @@
}
}
async Task verifiTimer()
{
//----------
isButtonDisabled = true;
countdown = 60;
timer = new System.Timers.Timer(1000); // هر 1 ثانیه
timer.Elapsed += OnTimerElapsed;
timer.AutoReset = true;
timer.Enabled = true;
//----------
}
private void OnTimerElapsed(object? sender, System.Timers.ElapsedEventArgs e)
{
if (countdown > 0)
{
countdown--;
InvokeAsync(StateHasChanged); // بروزرسانی UI
}
if (countdown == 0)
{
isButtonDisabled = false;
timer?.Stop();
timer?.Dispose();
StateHasChanged();
}
}
async Task ver()
{
visible = true;