From 356297caced8300eb2035d3f4ac447e17c6f4199 Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Thu, 8 Dec 2022 16:08:15 -0600 Subject: Show 'processing' spinner in edit profile modal --- src/view/com/modals/EditProfile.tsx | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/view/com/modals/EditProfile.tsx b/src/view/com/modals/EditProfile.tsx index 5130fa2d7..b9bf8a194 100644 --- a/src/view/com/modals/EditProfile.tsx +++ b/src/view/com/modals/EditProfile.tsx @@ -1,7 +1,13 @@ import React, {useState} from 'react' import {ComAtprotoBlobUpload} from '../../../third-party/api/index' import * as Toast from '../util/Toast' -import {StyleSheet, Text, TouchableOpacity, View} from 'react-native' +import { + ActivityIndicator, + StyleSheet, + Text, + TouchableOpacity, + View, +} from 'react-native' import LinearGradient from 'react-native-linear-gradient' import {BottomSheetScrollView, BottomSheetTextInput} from '@gorhom/bottom-sheet' import {Image as PickedImage} from 'react-native-image-crop-picker' @@ -28,6 +34,7 @@ export function Component({ }) { const store = useStores() const [error, setError] = useState('') + const [isProcessing, setProcessing] = useState(false) const [displayName, setDisplayName] = useState( profileView.displayName || '', ) @@ -50,6 +57,7 @@ export function Component({ setUserAvatar(img.path) } const onPressSave = async () => { + setProcessing(true) if (error) { setError('') } @@ -76,6 +84,7 @@ export function Component({ // ) } } + setProcessing(false) } return ( @@ -122,15 +131,21 @@ export function Component({ onChangeText={v => setDescription(enforceLen(v, MAX_DESCRIPTION))} /> - - - Save Changes - - + {isProcessing ? ( + + + + ) : ( + + + Save Changes + + + )} Cancel -- cgit 1.4.1