mirror of
https://gitea.tendokyu.moe/ppc/amnet.git
synced 2026-09-25 07:38:17 +03:00
fix card scanning using previously selected card
This commit is contained in:
@@ -150,20 +150,21 @@ export default function ServerCardIn({route, navigation}) {
|
||||
}
|
||||
}, [serverId, serverReloadCounter, realm]);
|
||||
|
||||
const cardInCallback = useCallback(() => {
|
||||
const cardInCallback = useCallback((card: AMCard) => {
|
||||
setCardInCompleted(false);
|
||||
|
||||
const abortController = new AbortController();
|
||||
|
||||
performCardIn(server, {
|
||||
cardId: selectedCard.code,
|
||||
physicalCardIDm: selectedCard.physicalCardData?.cardIDm ?? undefined
|
||||
cardId: card.code,
|
||||
physicalCardIDm: card.physicalCardData?.cardIDm ?? undefined
|
||||
}, abortController.signal).then(r => {
|
||||
const now = new Date();
|
||||
realm.write(() => {
|
||||
server.lastUsed = now;
|
||||
selectedCard.lastUsed = now;
|
||||
selectedCard.lastUsedGameId = server.gameId;
|
||||
|
||||
card.lastUsed = now;
|
||||
card.lastUsedGameId = server.gameId;
|
||||
});
|
||||
|
||||
setCardInCompleted(r);
|
||||
@@ -175,7 +176,7 @@ export default function ServerCardIn({route, navigation}) {
|
||||
|
||||
setTimeout(() => abortController.abort(), 5000);
|
||||
return () => abortController.abort();
|
||||
}, [server, selectedCard]);
|
||||
}, [server]);
|
||||
|
||||
const performPhysicalCardIn = useCallback(async () => {
|
||||
const card = await felicaCardReadAsync();
|
||||
@@ -188,7 +189,7 @@ export default function ServerCardIn({route, navigation}) {
|
||||
|
||||
if (savedCard) {
|
||||
setUserSelectedCard(savedCard);
|
||||
cardInCallback();
|
||||
cardInCallback(savedCard);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -244,11 +245,11 @@ export default function ServerCardIn({route, navigation}) {
|
||||
<View style={{display: "flex", flexDirection: "row", gap: 5}}>
|
||||
<Button style={{flex: 1}}
|
||||
textColor="white"
|
||||
onPress={cardInCallback}
|
||||
disabled={disableCardIn}
|
||||
contentStyle={{flexDirection: 'row-reverse'}}
|
||||
mode={serverConnectionSuccess ? "contained" : "outlined"}
|
||||
buttonColor={cardInCompleted === false ? "red" : "green"}
|
||||
onPress={() => cardInCallback(selectedCard)}
|
||||
icon={() => <SquareArrowOutUpRight color={disableCardIn ? "gray" : "white"}
|
||||
size={18}/>}>
|
||||
{cardInCompleted === null ? "Card In" : cardInCompleted ? "Card In Success" : "Failed"}
|
||||
|
||||
Reference in New Issue
Block a user