login time

This commit is contained in:
Sone
2025-11-05 20:11:34 +01:00
parent b43aec6b9a
commit fdcc42007a
21 changed files with 1363 additions and 843 deletions
+17 -3
View File
@@ -1,4 +1,4 @@
import { useState } from "react";
import { useRef, useState } from "react";
import {
Platform,
NativeSyntheticEvent,
@@ -32,6 +32,20 @@ export const PasswordInput = ({
submitBehavior,
}: PasswordInputProps) => {
const [secureTextEntry, setSecureTextEntry] = useState(true);
const submitGuardRef = useRef(false);
const triggerSubmitOnce = () => {
if (submitGuardRef.current) return;
submitGuardRef.current = true;
try {
onSubmitEditing?.();
} finally {
// release guard on next tick to allow future submissions
setTimeout(() => {
submitGuardRef.current = false;
}, 0);
}
};
return (
<TextInput
@@ -46,12 +60,12 @@ export const PasswordInput = ({
backgroundColor: "transparent",
...style,
}}
onSubmitEditing={onSubmitEditing}
onSubmitEditing={() => triggerSubmitOnce()}
returnKeyType={returnKeyType}
submitBehavior={submitBehavior ?? "submit"}
onKeyPress={(e) => {
if (Platform.OS === "web" && e?.nativeEvent?.key === "Enter") {
onSubmitEditing?.();
triggerSubmitOnce();
}
}}
left={<TextInput.Icon icon="lock" color="#6750a4" />}