feat: save previous servers

This commit is contained in:
Fredrik Burmester
2025-01-02 21:59:05 +01:00
parent fdde5fb56c
commit 60bb3b905d
5 changed files with 82 additions and 1 deletions

View File

@@ -0,0 +1,55 @@
import React, { useMemo } from "react";
import {
View,
Text,
FlatList,
TouchableOpacity,
StyleSheet,
} from "react-native";
import { MMKV, useMMKVString } from "react-native-mmkv";
import { ListGroup } from "./list/ListGroup";
import { ListItem } from "./list/ListItem";
const storage = new MMKV();
interface Server {
address: string;
}
interface PreviousServersListProps {
onServerSelect: (server: Server) => void;
}
export const PreviousServersList: React.FC<PreviousServersListProps> = ({
onServerSelect,
}) => {
const [_previousServers, setPreviousServers] =
useMMKVString("previousServers");
const previousServers = useMemo(() => {
return JSON.parse(_previousServers || "[]") as Server[];
}, [_previousServers]);
if (!previousServers.length) return null;
return (
<View>
<ListGroup title="previous servers" className="mt-4">
{previousServers.map((s) => (
<ListItem
onPress={() => onServerSelect(s)}
title={s.address}
showArrow
/>
))}
<ListItem
onPress={() => {
setPreviousServers("[]");
}}
title={"Clear"}
textColor="red"
/>
</ListGroup>
</View>
);
};