completed relocation of modal edit

This commit is contained in:
Roland Osborne 2022-10-19 10:36:36 -07:00
parent 5053907fa6
commit fc53b9e7c9
4 changed files with 18 additions and 61 deletions

View File

@ -13,8 +13,6 @@ import { TopicItem } from './topicItem/TopicItem';
export function ConversationHeader({ closeConversation, openDetails }) { export function ConversationHeader({ closeConversation, openDetails }) {
const navigation = useNavigation(); const navigation = useNavigation();
const { state, actions } = useConversation(); const { state, actions } = useConversation();
console.log(state.editing);
const setDetails = () => { const setDetails = () => {
openDetails(navigation); openDetails(navigation);
@ -47,6 +45,20 @@ export function ConversationBody() {
} }
} }
const updateTopic = async () => {
try {
await actions.updateTopic();
actions.hideEdit();
}
catch (err) {
console.log(err);
Alert.alert(
'Failed to Update Message',
'Please try again.',
)
}
}
const noop = () => {}; const noop = () => {};
return ( return (
@ -93,7 +105,7 @@ export function ConversationBody() {
<TouchableOpacity style={styles.cancel} onPress={actions.hideEdit}> <TouchableOpacity style={styles.cancel} onPress={actions.hideEdit}>
<Text>Cancel</Text> <Text>Cancel</Text>
</TouchableOpacity> </TouchableOpacity>
<TouchableOpacity style={styles.save} onPress={actions.updateTopic}> <TouchableOpacity style={styles.save} onPress={updateTopic}>
<Text style={styles.saveText}>Save</Text> <Text style={styles.saveText}>Save</Text>
</TouchableOpacity> </TouchableOpacity>
</View> </View>

View File

@ -46,20 +46,6 @@ export function TopicItem({ item, focused, focus, hosting, remove, update, block
); );
} }
const editMessage = async () => {
try {
await update(item.topicId, { ...state.editData, text: state.editMessage });
actions.hideEdit();
}
catch (err) {
console.log(err);
Alert.alert(
'Failed to Update Message',
'Please try again.',
)
}
}
const hideMessage = () => { const hideMessage = () => {
Alert.alert( Alert.alert(
"Blocking Message", "Blocking Message",
@ -197,31 +183,6 @@ export function TopicItem({ item, focused, focus, hosting, remove, update, block
/> />
</View> </View>
</Modal> </Modal>
<Modal
animationType="fade"
transparent={true}
visible={state.editing}
supportedOrientations={['portrait', 'landscape']}
onRequestClose={actions.hideEdit}
>
<KeyboardAvoidingView behavior="height" style={styles.modal}>
<View style={styles.editContainer}>
<Text style={styles.editHeader}>Edit Message Text:</Text>
<View style={styles.inputField}>
<TextInput style={styles.input} value={state.editMessage} onChangeText={actions.setEditMessage}
autoCapitalize="sentences" placeholder="Message Text" multiline={true} />
</View>
<View style={styles.editControls}>
<Touchy style={styles.cancel} onPress={actions.hideEdit}>
<Text>Cancel</Text>
</Touchy>
<Touchy style={styles.save} onPress={editMessage}>
<Text style={styles.saveText}>Save</Text>
</Touchy>
</View>
</View>
</KeyboardAvoidingView>
</Modal>
</View> </View>
); );
} }

View File

@ -22,9 +22,6 @@ export function useTopicItem(item, hosting, remove) {
fontColor: Colors.text, fontColor: Colors.text,
editable: false, editable: false,
deletable: false, deletable: false,
editing: false,
editMessage: null,
editData: null,
}); });
const profile = useContext(ProfileContext); const profile = useContext(ProfileContext);
@ -142,17 +139,6 @@ export function useTopicItem(item, hosting, remove) {
setActive: (activeId) => { setActive: (activeId) => {
updateState({ activeId }); updateState({ activeId });
}, },
block: async () => {
},
showEdit: () => {
updateState({ editing: true });
},
hideEdit: () => {
updateState({ editing: false });
},
setEditMessage: (editMessage) => {
updateState({ editMessage });
},
}; };
return { state, actions }; return { state, actions };

View File

@ -61,15 +61,13 @@ export function useConversation() {
await conversation.actions.removeTopic(topicId); await conversation.actions.removeTopic(topicId);
}, },
editTopic: async (topicId, data) => { editTopic: async (topicId, data) => {
console.log("EDITING!"); updateState({ editing: true, editTopicId: topicId, editMessage: data.text, editData: data });
updateState({ editing: true, editTopicId: topicId, editData: data });
//await conversation.actions.setTopicSubject(topicId, data);
}, },
hideEdit: () => { hideEdit: () => {
updateState({ editing: false }); updateState({ editing: false });
}, },
updateTopic: () => { updateTopic: async () => {
updateState({ editing: false }); await conversation.actions.setTopicSubject(state.editTopicId, { ...state.editData, text: state.editMessage });
}, },
setEditMessage: (editMessage) => { setEditMessage: (editMessage) => {
updateState({ editMessage }); updateState({ editMessage });