mirror of
https://github.com/balzack/databag.git
synced 2025-02-12 03:29:16 +00:00
updating layout for ios
This commit is contained in:
parent
9f7fecdf9f
commit
1e6143ac07
@ -310,7 +310,7 @@
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CURRENT_PROJECT_VERSION = 15;
|
||||
CURRENT_PROJECT_VERSION = 16;
|
||||
DEVELOPMENT_TEAM = 3P65PQ7SUR;
|
||||
ENABLE_BITCODE = NO;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
@ -348,7 +348,7 @@
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CURRENT_PROJECT_VERSION = 15;
|
||||
CURRENT_PROJECT_VERSION = 16;
|
||||
DEVELOPMENT_TEAM = 3P65PQ7SUR;
|
||||
INFOPLIST_FILE = Databag/Info.plist;
|
||||
INFOPLIST_KEY_CFBundleDisplayName = Databag;
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { ActivityIndicator, Alert, Text, TextInput, View, TouchableOpacity } from 'react-native';
|
||||
import { KeyboardAvoidingView, ActivityIndicator, Alert, Text, TextInput, View, TouchableOpacity } from 'react-native';
|
||||
import { styles } from './Admin.styled';
|
||||
import Ionicons from '@expo/vector-icons/AntDesign';
|
||||
import { useAdmin } from './useAdmin.hook';
|
||||
@ -21,7 +21,7 @@ export function Admin() {
|
||||
}
|
||||
|
||||
return (
|
||||
<View style={styles.wrapper}>
|
||||
<KeyboardAvoidingView style={styles.wrapper} behavior="padding" enabled={Platform.OS === 'ios' ? true : false}>
|
||||
<View style={styles.container}>
|
||||
<View style={styles.control}>
|
||||
<TouchableOpacity onPress={actions.login}>
|
||||
@ -70,6 +70,6 @@ export function Admin() {
|
||||
)}
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</KeyboardAvoidingView>
|
||||
);
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { ScrollView, ActivityIndicator, Alert, Text, TextInput, View, TouchableOpacity } from 'react-native';
|
||||
import { KeyboardAvoidingView, ScrollView, ActivityIndicator, Alert, Text, TextInput, View, TouchableOpacity } from 'react-native';
|
||||
import { styles } from './Create.styled';
|
||||
import Ionicons from '@expo/vector-icons/AntDesign';
|
||||
import { useCreate } from './useCreate.hook';
|
||||
@ -25,7 +25,7 @@ export function Create() {
|
||||
const validUsername = (state.username && state.usernameChecked && state.usernameValid);
|
||||
|
||||
return (
|
||||
<View style={styles.wrapper}>
|
||||
<KeyboardAvoidingView style={styles.wrapper} behavior="padding" enabled={Platform.OS === 'ios' ? true : false}>
|
||||
<View style={styles.container}>
|
||||
<View style={styles.control}>
|
||||
<TouchableOpacity onPress={actions.config}>
|
||||
@ -154,6 +154,6 @@ export function Create() {
|
||||
</View>
|
||||
</ScrollView>
|
||||
</View>
|
||||
</View>
|
||||
</KeyboardAvoidingView>
|
||||
);
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { ActivityIndicator, Alert, Text, TextInput, View, TouchableOpacity } from 'react-native';
|
||||
import { KeyboardAvoidingView, ActivityIndicator, Alert, Text, TextInput, View, TouchableOpacity } from 'react-native';
|
||||
import { styles } from './Login.styled';
|
||||
import Ionicons from '@expo/vector-icons/AntDesign';
|
||||
import { useLogin } from './useLogin.hook';
|
||||
@ -21,7 +21,7 @@ export function Login() {
|
||||
}
|
||||
|
||||
return (
|
||||
<View style={styles.wrapper}>
|
||||
<KeyboardAvoidingView style={styles.wrapper} behavior="padding" enabled={Platform.OS === 'ios' ? true : false}>
|
||||
<View style={styles.container}>
|
||||
<View style={styles.control}>
|
||||
<TouchableOpacity onPress={actions.config}>
|
||||
@ -85,6 +85,6 @@ export function Login() {
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</KeyboardAvoidingView>
|
||||
);
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { ActivityIndicator, Alert, Text, TextInput, View, TouchableOpacity } from 'react-native';
|
||||
import { KeyboardAvoidingView, ActivityIndicator, Alert, Text, TextInput, View, TouchableOpacity } from 'react-native';
|
||||
import { styles } from './Reset.styled';
|
||||
import Ionicons from '@expo/vector-icons/AntDesign';
|
||||
import { useReset } from './useReset.hook';
|
||||
@ -21,7 +21,7 @@ export function Reset() {
|
||||
}
|
||||
|
||||
return (
|
||||
<View style={styles.wrapper}>
|
||||
<KeyboardAvoidingView style={styles.wrapper} behavior="padding" enabled={Platform.OS === 'ios' ? true : false}>
|
||||
<View style={styles.container}>
|
||||
<View style={styles.control}>
|
||||
<TouchableOpacity onPress={actions.config}>
|
||||
@ -65,6 +65,6 @@ export function Reset() {
|
||||
</TouchableOpacity>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</KeyboardAvoidingView>
|
||||
);
|
||||
}
|
||||
|
@ -62,7 +62,7 @@ export function ChannelsBody({ state, actions, openConversation }) {
|
||||
<Text style={styles.addHeader}>New Topic:</Text>
|
||||
<View style={styles.inputField}>
|
||||
<TextInput style={styles.input} value={state.addSubject} onChangeText={actions.setAddSubject}
|
||||
autoCapitalize="words" placeholder="Subject (optional)" />
|
||||
autoCapitalize="words" placeholder="Subject (optional)" placeholderTextColor={Colors.grey} />
|
||||
</View>
|
||||
<Text style={styles.label}>Members:</Text>
|
||||
{ state.connected.length == 0 && (
|
||||
|
@ -73,10 +73,12 @@ export function useChannels() {
|
||||
|
||||
let updated = false;
|
||||
const login = app.state.loginTimestamp;
|
||||
const update = item?.summary?.lastTopic?.created;
|
||||
if (update && login && login < update) {
|
||||
const { created, guid } = item?.summary?.lastTopic;
|
||||
if (created && login && login < created) {
|
||||
if (!item.readRevision || item.readRevision < item.revision) {
|
||||
updated = true;
|
||||
if (profile.state.profile.guid != guid) {
|
||||
updated = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -147,9 +149,7 @@ export function useChannels() {
|
||||
}
|
||||
}
|
||||
|
||||
const timestamp = item?.summary?.lastTopic?.created;
|
||||
|
||||
return { cardId: item.cardId, channelId: item.channelId, contacts, logo, subject, message, updated, revision: item.revision, timestamp, blocked: item.blocked === 1 };
|
||||
return { cardId: item.cardId, channelId: item.channelId, contacts, logo, subject, message, updated, revision: item.revision, timestamp: created, blocked: item.blocked === 1 };
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
|
@ -144,7 +144,7 @@ export function DetailsBody({ channel, clearConversation }) {
|
||||
<Text style={styles.editHeader}>Edit Subject:</Text>
|
||||
<View style={styles.inputField}>
|
||||
<TextInput style={styles.input} value={state.subjectUpdate} onChangeText={actions.setSubjectUpdate}
|
||||
autoCapitalize="words" placeholder="Subject" />
|
||||
autoCapitalize="words" placeholder="Subject" placeholderTextColor={Colors.grey} />
|
||||
</View>
|
||||
<View style={styles.editControls}>
|
||||
<TouchableOpacity style={styles.cancel} onPress={actions.hideEditSubject}>
|
||||
|
@ -251,15 +251,16 @@ export function Profile() {
|
||||
<Text style={styles.editHeader}>Edit Details:</Text>
|
||||
<View style={styles.inputField}>
|
||||
<TextInput style={styles.input} value={state.editName} onChangeText={actions.setEditName}
|
||||
autoCapitalize="words" placeholder="Name" />
|
||||
autoCapitalize="words" placeholder="Name" placeholderTextColor={Colors.grey} />
|
||||
</View>
|
||||
<View style={styles.inputField}>
|
||||
<TextInput style={styles.input} value={state.editLocation} onChangeText={actions.setEditLocation}
|
||||
autoCapitalize="words" placeholder="Location" />
|
||||
autoCapitalize="words" placeholder="Location" placeholderTextColor={Colors.grey} />
|
||||
</View>
|
||||
<View style={styles.inputField}>
|
||||
<TextInput style={styles.input} value={state.editDescription} onChangeText={actions.setEditDescription}
|
||||
autoCapitalize="sentences" placeholder="Description" multiline={true} />
|
||||
autoCapitalize="sentences" placeholder="Description" multiline={true}
|
||||
placeholderTextColor={Colors.grey} />
|
||||
</View>
|
||||
<View style={styles.editControls}>
|
||||
<TouchableOpacity style={styles.cancel} onPress={actions.hideDetailEdit}>
|
||||
@ -284,7 +285,7 @@ export function Profile() {
|
||||
<Text style={styles.editHeader}>Change Login:</Text>
|
||||
<View style={styles.inputField}>
|
||||
<TextInput style={styles.input} value={state.editHandle} onChangeText={actions.setEditHandle}
|
||||
autoCapitalize={'none'} placeholder="Username" />
|
||||
autoCapitalize={'none'} placeholder="Username" placeholderTextColor={Colors.grey} />
|
||||
{ state.checked && state.available && (
|
||||
<Ionicons style={styles.icon} name="checkcircleo" size={18} color={Colors.background} />
|
||||
)}
|
||||
@ -295,7 +296,8 @@ export function Profile() {
|
||||
{ !state.showPassword && (
|
||||
<View style={styles.inputField}>
|
||||
<TextInput style={styles.input} value={state.editPassword} onChangeText={actions.setEditPassword}
|
||||
autoCapitalize={'none'} secureTextEntry={true} placeholder="Password" />
|
||||
autoCapitalize={'none'} secureTextEntry={true} placeholder="Password"
|
||||
placeholderTextColor={Colors.grey} />
|
||||
<TouchableOpacity onPress={actions.showPassword}>
|
||||
<Ionicons style={styles.icon} name="eyeo" size={18} color="#888888" />
|
||||
</TouchableOpacity>
|
||||
@ -304,7 +306,8 @@ export function Profile() {
|
||||
{ state.showPassword && (
|
||||
<View style={styles.inputField}>
|
||||
<TextInput style={styles.input} value={state.editPassword} onChangeText={actions.setEditPassword}
|
||||
autoCapitalize={'none'} secureTextEntry={false} placeholder="Password" />
|
||||
autoCapitalize={'none'} secureTextEntry={false} placeholder="Password"
|
||||
placeholderTextColor={Colors.grey} />
|
||||
<TouchableOpacity onPress={actions.hidePassword}>
|
||||
<Ionicons style={styles.icon} name="eye" size={18} color="#888888" />
|
||||
</TouchableOpacity>
|
||||
@ -313,7 +316,8 @@ export function Profile() {
|
||||
{ !state.showConfirm && (
|
||||
<View style={styles.inputField}>
|
||||
<TextInput style={styles.input} value={state.editConfirm} onChangeText={actions.setEditConfirm}
|
||||
autoCapitalize={'none'} secureTextEntry={true} placeholder="Confirm" />
|
||||
autoCapitalize={'none'} secureTextEntry={true} placeholder="Confirm"
|
||||
placeholderTextColor={Colors.grey} />
|
||||
<TouchableOpacity onPress={actions.showConfirm}>
|
||||
<Ionicons style={styles.icon} name="eyeo" size={18} color="#888888" />
|
||||
</TouchableOpacity>
|
||||
@ -322,7 +326,8 @@ export function Profile() {
|
||||
{ state.showConfirm && (
|
||||
<View style={styles.inputField}>
|
||||
<TextInput style={styles.input} value={state.editConfirm} onChangeText={actions.setEditConfirm}
|
||||
autoCapitalize={'none'} secureTextEntry={false} placeholder="Confirm" />
|
||||
autoCapitalize={'none'} secureTextEntry={false} placeholder="Confirm"
|
||||
placeholderTextColor={Colors.grey} />
|
||||
<TouchableOpacity onPress={actions.hideConfirm}>
|
||||
<Ionicons style={styles.icon} name="eye" size={18} color="#888888" />
|
||||
</TouchableOpacity>
|
||||
|
@ -34,7 +34,7 @@ export function useRegistry() {
|
||||
useEffect(() => {
|
||||
const server = profile.state.profile.node;
|
||||
updateState({ server });
|
||||
getAccounts(server);
|
||||
getAccounts(server, true);
|
||||
}, [profile]);
|
||||
|
||||
const setAccountItem = (item) => {
|
||||
|
Loading…
Reference in New Issue
Block a user