mirror of
https://github.com/streamyfin/streamyfin.git
synced 2026-01-15 15:48:05 +00:00
Some checks failed
🤖 Android APK Build (Phone + TV) / 🏗️ Build Android APK (phone) (push) Has been cancelled
🤖 Android APK Build (Phone + TV) / 🏗️ Build Android APK (tv) (push) Has been cancelled
🤖 iOS IPA Build (Phone + TV) / 🏗️ Build iOS IPA (phone) (push) Has been cancelled
🔒 Lockfile Consistency Check / 🔍 Check bun.lock and package.json consistency (push) Has been cancelled
🛡️ CodeQL Analysis / 🔎 Analyze with CodeQL (actions) (push) Has been cancelled
🛡️ CodeQL Analysis / 🔎 Analyze with CodeQL (javascript-typescript) (push) Has been cancelled
🏷️🔀Merge Conflict Labeler / 🏷️ Labeling Merge Conflicts (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Vulnerable Dependencies (push) Has been cancelled
🚦 Security & Quality Gate / 🚑 Expo Doctor Check (push) Has been cancelled
🚦 Security & Quality Gate / 📝 Validate PR Title (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (check) (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (format) (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (lint) (push) Has been cancelled
🚦 Security & Quality Gate / 🔍 Lint & Test (typecheck) (push) Has been cancelled
🕒 Handle Stale Issues / 🗑️ Cleanup Stale Issues (push) Has been cancelled
This reverts commit ae09a59569.
53 lines
1.3 KiB
TypeScript
53 lines
1.3 KiB
TypeScript
import type React from "react";
|
|
import { useMemo } from "react";
|
|
import { useTranslation } from "react-i18next";
|
|
import { View } from "react-native";
|
|
import { useMMKVString } from "react-native-mmkv";
|
|
import { ListGroup } from "./list/ListGroup";
|
|
import { ListItem } from "./list/ListItem";
|
|
|
|
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]);
|
|
|
|
const { t } = useTranslation();
|
|
|
|
if (!previousServers.length) return null;
|
|
|
|
return (
|
|
<View>
|
|
<ListGroup title={t("server.previous_servers")} className='mt-4'>
|
|
{previousServers.map((s) => (
|
|
<ListItem
|
|
key={s.address}
|
|
onPress={() => onServerSelect(s)}
|
|
title={s.address}
|
|
showArrow
|
|
/>
|
|
))}
|
|
<ListItem
|
|
onPress={() => {
|
|
setPreviousServers("[]");
|
|
}}
|
|
title={t("server.clear_button")}
|
|
textColor='red'
|
|
/>
|
|
</ListGroup>
|
|
</View>
|
|
);
|
|
};
|