use useAndroidHardwareBackHnd on Files and Members (#7455)

* use useAndroidHardwareBackHnd on Files and Members

* use callbacks

---------

Co-authored-by: Eduardo Sellanes <esellanes@sangoma.com>
This commit is contained in:
Eduardo Sellanes
2023-07-17 09:01:33 -04:00
committed by GitHub
parent 54437e93ff
commit 3e700f841d
2 changed files with 19 additions and 1 deletions

View File

@@ -13,17 +13,21 @@ import Search from '@components/search';
import {General} from '@constants';
import {useServerUrl} from '@context/server';
import {useTheme} from '@context/theme';
import useAndroidHardwareBackHandler from '@hooks/android_back_handler';
import {popTopScreen} from '@screens/navigation';
import {type FileFilter, FileFilters, filterFileExtensions} from '@utils/file';
import {changeOpacity, getKeyboardAppearanceFromTheme} from '@utils/theme';
import Header from './header';
import type ChannelModel from '@typings/database/models/servers/channel';
import type {AvailableScreens} from '@typings/screens/navigation';
const TEST_ID = 'channel_files';
type Props = {
channel: ChannelModel;
componentId: AvailableScreens;
canDownloadFiles: boolean;
publicLinkEnabled: boolean;
}
@@ -69,6 +73,7 @@ const emptyFileResults: FileInfo[] = [];
function ChannelFiles({
channel,
componentId,
canDownloadFiles,
publicLinkEnabled,
}: Props) {
@@ -83,6 +88,12 @@ function ChannelFiles({
const [fileInfos, setFileInfos] = useState<FileInfo[]>(emptyFileResults);
const close = useCallback(() => {
popTopScreen(componentId);
}, [componentId]);
useAndroidHardwareBackHandler(componentId, close);
const handleSearch = useCallback(async (searchTerm: string, ftr: FileFilter) => {
const t = Date.now();
lastSearchRequest.current = t;

View File

@@ -14,8 +14,9 @@ import UserList from '@components/user_list';
import {Events, General, Screens} from '@constants';
import {useServerUrl} from '@context/server';
import {useTheme} from '@context/theme';
import useAndroidHardwareBackHandler from '@hooks/android_back_handler';
import useNavButtonPressed from '@hooks/navigation_button_pressed';
import {openAsBottomSheet, setButtons} from '@screens/navigation';
import {openAsBottomSheet, popTopScreen, setButtons} from '@screens/navigation';
import NavigationStore from '@store/navigation_store';
import {showRemoveChannelUserSnackbar} from '@utils/snack_bar';
import {changeOpacity, getKeyboardAppearanceFromTheme} from '@utils/theme';
@@ -98,6 +99,12 @@ export default function ManageChannelMembers({
setSearchResults(EMPTY);
}, []);
const close = useCallback(() => {
popTopScreen(componentId);
}, [componentId]);
useAndroidHardwareBackHandler(componentId, close);
const handleSelectProfile = useCallback(async (profile: UserProfile) => {
if (profile.id === currentUserId && isManageMode) {
return;