fix and update
This commit is contained in:
@@ -34,7 +34,9 @@ import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
|
||||
|
||||
import type { AuthTokens, LoginMethod, OtpChannel, OtpSendResponse } from '@/lib/api';
|
||||
|
||||
import { createQrLoginSession, pollQrLoginSession } from '@/lib/api';
|
||||
import { createQrLoginSession, fetchFedcmSessionStatus, pollQrLoginSession } from '@/lib/api';
|
||||
|
||||
import { isFedcmLoginPopup } from '@/lib/fedcm-login-bridge';
|
||||
|
||||
import {
|
||||
clearOtpResendAvailableAt,
|
||||
@@ -104,7 +106,7 @@ export default function LoginPage() {
|
||||
|
||||
const { showToast } = useToast();
|
||||
|
||||
const { ldapEnabled, ldapUseLdaps } = usePublicSettings();
|
||||
const { ldapEnabled, ldapUseLdaps, publicApiUrl } = usePublicSettings();
|
||||
|
||||
|
||||
|
||||
@@ -261,6 +263,22 @@ export default function LoginPage() {
|
||||
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
if (!isFedcmLoginPopup()) return;
|
||||
let cancelled = false;
|
||||
|
||||
void (async () => {
|
||||
const status = await fetchFedcmSessionStatus(publicApiUrl);
|
||||
if (cancelled || !status?.active || !status.requiresPin || !status.sessionId) return;
|
||||
setPendingSessionId(status.sessionId);
|
||||
setStep('pin');
|
||||
})();
|
||||
|
||||
return () => {
|
||||
cancelled = true;
|
||||
};
|
||||
}, [publicApiUrl]);
|
||||
|
||||
useEffect(() => {
|
||||
if (step !== 'otp' || !recipient) return;
|
||||
const saved = readOtpResendAvailableAt(recipient);
|
||||
|
||||
Reference in New Issue
Block a user