import Constants from "expo-constants"; import { useRouter } from "expo-router"; import { useState } from "react"; import { Alert, Button, Text, TextInput, View } from "react-native"; import Toast from "react-native-toast-message"; import { useAppStore } from "../hooks/useAppStore"; import { useServerStore } from "../hooks/useServerCheck"; export default function Setup() { const router = useRouter(); const [auth, setAuth] = useState(false); const [pin, setPin] = useState(""); const version = Constants.expoConfig?.version; const build = Constants.expoConfig?.android?.versionCode ?? 1; const serverIpFromStore = useAppStore((s) => s.serverIp); const serverPortFromStore = useAppStore((s) => s.serverPort); const scannerIdFromStore = useAppStore((s) => s.scannerId); const updateAppState = useAppStore((s) => s.updateAppState); // local form state const [serverIp, setLocalServerIp] = useState(serverIpFromStore); const [serverPort, setLocalServerPort] = useState(serverPortFromStore); const [scannerId, setScannerId] = useState(scannerIdFromStore); const server = useServerStore((s) => s.serverVersion); // TODO: if on lst version and the user is manager or admin just login const authCheck = () => { if (pin === "6971") { setAuth(true); } else { //Alert.alert("Incorrect pin entered please try again"); Toast.show({ type: "error", text1: "Incorrect pin entered please try again", }); setPin(""); } }; const handleSave = async () => { if (!serverIp.trim() || !serverPort.trim()) { //Alert.alert("Missing info", "Please fill in both fields."); Toast.show({ type: "error", text1: "Missing info", text2: "Please fill in both fields.", }); return; } updateAppState({ serverIp: serverIp.trim(), serverPort: serverPort.trim(), scannerId: scannerId?.trim(), setupCompleted: true, isRegistered: true, }); //Alert.alert("Saved", "Config saved to device."); Toast.show({ type: "info", text1: "Saved", text2: "Config saved to device.", }); //router.replace("/"); }; return ( LST Scanner Config {!auth ? ( Pin Number