From 6c0b0ef86a501a66fa57b42340b994124526f123 Mon Sep 17 00:00:00 2001 From: balzack Date: Thu, 15 Aug 2024 08:09:36 -0700 Subject: [PATCH] fixing offline login persist --- .../mobile/ios/Databag.xcodeproj/project.pbxproj | 10 ++++++++-- app/client/mobile/ios/Podfile.lock | 2 +- app/client/mobile/src/SessionStore.ts | 3 +-- app/client/mobile/src/access/Access.styled.ts | 2 +- app/client/mobile/src/access/Access.tsx | 7 ++++--- app/client/mobile/src/access/useAccess.hook.ts | 2 +- .../mobile/src/context/useAppContext.hook.ts | 2 +- app/client/mobile/src/session/Session.tsx | 16 +++++++++++++++- app/sdk/src/store.ts | 2 +- 9 files changed, 33 insertions(+), 13 deletions(-) diff --git a/app/client/mobile/ios/Databag.xcodeproj/project.pbxproj b/app/client/mobile/ios/Databag.xcodeproj/project.pbxproj index 52f06f34..e97fb077 100644 --- a/app/client/mobile/ios/Databag.xcodeproj/project.pbxproj +++ b/app/client/mobile/ios/Databag.xcodeproj/project.pbxproj @@ -605,7 +605,10 @@ "-DFOLLY_CFG_NO_COROUTINES=1", "-DFOLLY_HAVE_CLOCK_GETTIME=1", ); - OTHER_LDFLAGS = "$(inherited) "; + OTHER_LDFLAGS = ( + "$(inherited)", + " ", + ); REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; USE_HERMES = true; @@ -677,7 +680,10 @@ "-DFOLLY_CFG_NO_COROUTINES=1", "-DFOLLY_HAVE_CLOCK_GETTIME=1", ); - OTHER_LDFLAGS = "$(inherited) "; + OTHER_LDFLAGS = ( + "$(inherited)", + " ", + ); REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; USE_HERMES = true; diff --git a/app/client/mobile/ios/Podfile.lock b/app/client/mobile/ios/Podfile.lock index a9c99116..9b321af2 100644 --- a/app/client/mobile/ios/Podfile.lock +++ b/app/client/mobile/ios/Podfile.lock @@ -1458,7 +1458,7 @@ SPEC CHECKSUMS: RNScreens: aa943ad421c3ced3ef5a47ede02b0cbfc43a012e RNVectorIcons: 2a2f79274248390b80684ea3c4400bd374a15c90 SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d - Yoga: 88480008ccacea6301ff7bf58726e27a72931c8d + Yoga: 04f1db30bb810187397fa4c37dd1868a27af229c PODFILE CHECKSUM: 8461018d8deceb200962c829584af7c2eb345c80 diff --git a/app/client/mobile/src/SessionStore.ts b/app/client/mobile/src/SessionStore.ts index 950c4cba..1aaf5749 100644 --- a/app/client/mobile/src/SessionStore.ts +++ b/app/client/mobile/src/SessionStore.ts @@ -25,10 +25,9 @@ export class SessionStore implements SqlStore { stmt: string, params: (string | number | null)[], ): Promise { - console.log("GET: ", stmt); const res = await this.db.executeSql(stmt, params); const rows = []; - if (res[0] && res[0].rows && res[0].rows > 1) { + if (res[0] && res[0].rows && res[0].rows.length > 0) { for (let i = 0; i < res[0].rows.length; i++) { rows.push(res[0].rows.item(i)); } diff --git a/app/client/mobile/src/access/Access.styled.ts b/app/client/mobile/src/access/Access.styled.ts index 5a8cc42c..41835497 100644 --- a/app/client/mobile/src/access/Access.styled.ts +++ b/app/client/mobile/src/access/Access.styled.ts @@ -83,7 +83,7 @@ export const styles = StyleSheet.create({ maxWidth: 300, width: '80%', margin: 4, - marginTop: 24, + marginTop: 16, }, hidden: { width: '50%', diff --git a/app/client/mobile/src/access/Access.tsx b/app/client/mobile/src/access/Access.tsx index 5accd372..801dbad3 100644 --- a/app/client/mobile/src/access/Access.tsx +++ b/app/client/mobile/src/access/Access.tsx @@ -10,6 +10,7 @@ export function Access() { const [ text, setText ] = useState(''); const { state, actions } = useAccess() const [disabled, setDisabled] = useState(false) + const [showPassword, setShowPassword] = useState(false); const login = async () => { if (!state.loading) { @@ -101,9 +102,9 @@ export function Access() { autoComplete="off" autoCorrect={false} label="Password" - secureTextEntry + secureTextEntry={!showPassword} left={} - right={} + right={showPassword ? setShowPassword(false)} /> : setShowPassword(true)} />} onChangeText={value => actions.setPassword(value)} /> diff --git a/app/client/mobile/src/access/useAccess.hook.ts b/app/client/mobile/src/access/useAccess.hook.ts index f253605f..1b15fef9 100644 --- a/app/client/mobile/src/access/useAccess.hook.ts +++ b/app/client/mobile/src/access/useAccess.hook.ts @@ -13,7 +13,7 @@ export function useAccess() { const [state, setState] = useState({ wide: null, strings: settings.state.strings, - mode: '', + mode: 'account', username: '', handle: '', password: '', diff --git a/app/client/mobile/src/context/useAppContext.hook.ts b/app/client/mobile/src/context/useAppContext.hook.ts index 5787b07a..3d955841 100644 --- a/app/client/mobile/src/context/useAppContext.hook.ts +++ b/app/client/mobile/src/context/useAppContext.hook.ts @@ -1,7 +1,7 @@ import { useState, useEffect, useRef } from 'react' import { DatabagSDK, Session } from 'databag-client-sdk' import { SessionStore } from '../SessionStore' -const DATABAG_DB = 'db_v200.db'; +const DATABAG_DB = 'db_v201.db'; export function useAppContext() { const sdk = useRef(new DatabagSDK(null)) diff --git a/app/client/mobile/src/session/Session.tsx b/app/client/mobile/src/session/Session.tsx index 53d83c89..c170c8c7 100644 --- a/app/client/mobile/src/session/Session.tsx +++ b/app/client/mobile/src/session/Session.tsx @@ -1,6 +1,20 @@ +import { Button } from 'react-native-paper'; import { Text } from 'react-native'; +import { AppContext } from '../context/AppContext'; +import { View } from 'react-native'; +import { useContext } from 'react'; export function Session() { - return SESSION + const app = useContext(AppContext); + + return ( + + SESSION! + SESSION! + SESSION! + SESSION! + + + ); } diff --git a/app/sdk/src/store.ts b/app/sdk/src/store.ts index e7fcbc13..2adcd477 100644 --- a/app/sdk/src/store.ts +++ b/app/sdk/src/store.ts @@ -35,7 +35,7 @@ export class OfflineStore implements Store { public async init(): Promise { await this.sql.set("CREATE TABLE IF NOT EXISTS app (key text, value text, unique(key));"); - await this.sql.set("INSERT OR IGNORE INTO app (key, value) values ('session', null);"); + await this.sql.set("INSERT OR IGNORE INTO app (key, value) values ('login', null);"); return await this.getAppValue('login', null); }