import Button from '@app/components/Button' import GradientScrollView from '@app/components/GradientScrollView' import Header from '@app/components/Header' import PressableOpacity from '@app/components/PressableOpacity' import SettingsItem from '@app/components/SettingsItem' import { useSwitchActiveServer } from '@app/hooks/server' import { Server } from '@app/models/settings' import { selectSettings } from '@app/state/settings' import { useStore } from '@app/state/store' import colors from '@app/styles/colors' import { useNavigation } from '@react-navigation/core' import React, { useCallback } from 'react' import { StatusBar, StyleSheet, View } from 'react-native' import Icon from 'react-native-vector-icons/MaterialCommunityIcons' const ServerItem = React.memo<{ server: Server }>(({ server }) => { const activeServer = useStore(selectSettings.activeServer) const switchActiveServer = useSwitchActiveServer() const navigation = useNavigation() const setActive = useCallback(() => { switchActiveServer(server.id) }, [server.id, switchActiveServer]) return ( navigation.navigate('server', { id: server.id })}> {activeServer && activeServer.id === server.id ? ( ) : ( )} ) }) const SettingsContent = React.memo(() => { const servers = useStore(selectSettings.servers) const navigation = useNavigation() return (
Servers
{servers.map(s => ( ))}